小编dat*_*.io的帖子

PHP preg_match_all在长字符串上失败

这是我的代码:

$long = str_repeat('a very long string text', 100); // try changing 100 to 5000

$str = <<<STR
<abc>a short string text</abc>
<abc>$long</abc>
STR;

preg_match_all('@<abc>([^<>]+)</abc>@sU', $str, $matched);

print_r($matched);
Run Code Online (Sandbox Code Playgroud)

并且它完全按预期工作。但是,将100次重复更改为5000次后,运行

print_r($matched);
Run Code Online (Sandbox Code Playgroud)

而且您只会得到短字符串出现的结果。

我的问题是如何使preg_match或preg_match_all与大型字符串文本(最大1MB或更大)一起使用?

php

4
推荐指数
1
解决办法
3001
查看次数

以编程方式获取Magento产品URL后缀?

有没有办法让Magento设置中的Product URL Suffix用于我想要使用它的模板中?我找到了这个doc页面:http://docs.magentocommerce.com/Mage_Catalog/Mage_Catalog_Helper_Product.html

并找到了这个方法:getProductUrlSuffix

但我不知道如何使用它.

magento

3
推荐指数
1
解决办法
2380
查看次数

字符串preg_match_all的最大长度可以匹配并获取?

我正在尝试使用preg_match_all()解析一些网页,其中一些网页的大小相当于几个MB.其中一个正则表达式匹配一些文本字符串,这些字符串非常大,以至于它们似乎无法匹配并获取它们.它只返回一个空字符串.

当我手动选择它并将其保存为.txt文件时,其中一个字符串是1.32MB或1,393,557字节.

当字符串短得多,只有几万个字节时,该正则表达式成功匹配并获取它.

所以我的问题是,因为我发现字符串的限制/最大长度preg_match_all()可以匹配,它是什么以及如何将其设置得更大?

php regex

3
推荐指数
1
解决办法
3913
查看次数

在PHP中写入文本文件时是否截断整数?

我写了一个下载计数器:

$hit_count = @file_get_contents('download.txt');
$hit_count++;
@file_put_contents('download.txt', $hit_count);

header('Location: file/xxx.zip');
Run Code Online (Sandbox Code Playgroud)

就如此容易.问题是统计数字被截断为4位数,因此没有显示实际计数:

http://www.converthub.com/batch-image-converter/download.txt

批量图像转换器程序每天下载几百次,PHP计数器已经存在数月.我第一次发现这个问题的时间大约是2个月之前,当我很高兴它在几周之后达到8000大关,而在此之后的一周,它再次达到了500.它一次又一次地发生.

不知道为什么.为什么?

php integer file

2
推荐指数
1
解决办法
633
查看次数

以编程方式获取Magento中产品图像的宽度和高度?

在Magento内部模板代码我想获得原始产品图像的宽度和高度(在创建产品时由管理员上传),以便进行相应的调整.

我怎样才能做到这一点?到目前为止,我有:

$this->helper('catalog/image')->init($_product, 'image')
Run Code Online (Sandbox Code Playgroud)

这是否有任何方法可以让我检索产品图像的原始尺寸?如:

$this->helper('catalog/image')->init($_product, 'image')->getWidth()
Run Code Online (Sandbox Code Playgroud)

或者其他的东西?

谢谢!

image magento

2
推荐指数
1
解决办法
7129
查看次数

301通过.htaccess将*.php重定向到*.html?

目前我在.htaccess中将*.html的所有传入请求重写为*.php:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

RewriteRule ^(.*).html$ $1.php [QSA]

ErrorDocument 404 /404.html
Run Code Online (Sandbox Code Playgroud)

所以/something.html被重写为/something.php.

但是,/ something.php仍然可以在浏览器中直接访问.现在,当人们在浏览器中访问它时,我希望它重定向到/something.html,以避免同一页面内容的2个不同的URL.

这可以在我的.htaccess中做到吗?怎么样?我试过R = 301,但它总是一个重定向循环或其他东西.任何帮助,将不胜感激.谢谢!

.htaccess seo redirect

2
推荐指数
1
解决办法
9251
查看次数

像这样一个函数调用一个对象?

PHP中是否有任何方法可以调用对象,就像它是一个函数一样?

class Funct {
  public function __callSelf() {
    echo 'Called!';
  }
}

$myFunc = new Funct();
$myFunc();

// Output

Called!
Run Code Online (Sandbox Code Playgroud)

像这样的东西?

php class function

2
推荐指数
1
解决办法
55
查看次数

如何检查MySQL和PHP中是否设置了时间戳?

当timestamp列定义为DEFAULT 0,如果未在INSERT或UPDATE中指定,则"0000-00-00 00:00:00"成为默认值.

检查这样的时间戳是否设置的正确方法是什么,因此不是默认值?

SELECT * FROM table WHERE timestamp <> 0
Run Code Online (Sandbox Code Playgroud)

它似乎确实有效,但我不确定它是否是正确的方式并且100%的情况下工作?

当在PHP中选择此类值时,如何检查它是否已设置?

到目前为止,我提出了这样的事情:

if ($row['timestamp'] != '0000-00-00 00:00:00') {
}
Run Code Online (Sandbox Code Playgroud)

它确实有效,但对我来说似乎很俗气.我不确定它是否也是正确的方式.我该怎么做呢?

php mysql timestamp

2
推荐指数
1
解决办法
4587
查看次数

PHP mcrypt使用类?

我很擅长这个.当我认为一个好的教程会做得更好时,试图理解PHP.net上mcrypt的手册页.所以我没有任何实质性的搜索.

我还尝试了使用mcrypt使用2个函数执行加密和解密的一个示例,但它给出了"密钥大小对于此算法来说太大"的警告.

任何人都可以请我写一个双向类来使用mcrypt进行加密/解密,这样我就可以理解库了吗?谢谢!

php encryption mcrypt

1
推荐指数
1
解决办法
3700
查看次数

Magento:显示产品页面上的所有图像(view.phtml)

我可以看到media.phtml(使用Cloud Zoom扩展)如何通过$ this-> getGalleryImages()的帮助列出产品页面上的所有图像:

<?php foreach ($this->getGalleryImages() as $_image): ?>
<?php ... ?>
<?php endforeach; ?>
Run Code Online (Sandbox Code Playgroud)

但是当我在view.phtml中使用$ this-> getGalleryImages()时,它是目录产品页面模板,它不会返回或输出任何内容.但是,这只会打印产品页面上的第一个图像:

<img src="<?php echo $this->helper('catalog/image')->init($_product, 'image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->setWatermarkImageOpacity(0)->resize(300, null);?>" alt="<?php echo $this->htmlEscape($this->getImageLabel());?>" title="<?php echo $this->htmlEscape($this->getImageLabel());?>" />
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在产品页面(view.phtml,而不是media.phtml)上迭代并显示所有产品图像?基本上,我希望它们全部显示在页面上,无需缩略图或缩放或任何东西,只是一个接一个的普通大图像.

谢谢!

magento

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

php ×6

magento ×3

.htaccess ×1

class ×1

encryption ×1

file ×1

function ×1

image ×1

integer ×1

mcrypt ×1

mysql ×1

redirect ×1

regex ×1

seo ×1

timestamp ×1