由Timthumb Script生成的错误标题

时间:2011-12-29 16:58:10

标签: php caching

我正在使用当前的Timthumb脚本来生成一些餐馆图像的缩略图。我扩展了脚本,以获得更有效的缓存。

可以找到代码here on pastebin

所做的更改:

第216行删除了安全字符串,因为我没有使用智能缓存系统,这条线在大部分时间都为我打破了图像

第315 - 345行使用不同的缓存路径

我使用以下htaccess规则来避免使用timthumb和php(如果文件已生成一次)

RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-s
RewriteRule ^(.*)/service/(.*)/(.*)-(.*)-(.*).jpg$ /timthumb.php?name=$1/service/$2/$3-$4-$5.jpg&w=$4&h=$5&src=http://s3-eu-west-1.amazonaws.com/$1/restaurants/$2/default.jpg [L]

可悲的是,我得到了一些图片损坏的图片作为回应。

http://lieferando.de.s3.amazonaws.com/restaurants/12381/default.jpg

由Timthumb创建 例如:http://image.yourdelivery.de/lieferando.de/service/13003/Arman-155-100.jpg

创建的图片有一个前置 jpg?> ,我不知道它来自何处。有人知道吗?

1 个答案:

答案 0 :(得分:0)

我找到了这个部分,timthumb添加了这些部分。

file_put_contents($tempfile4, $this->filePrependSecurityBlock . $imgType . ' ?' . '>'); //6 extra bytes, first 3 being image type 

添加变量$ imgType。我真的不明白那个标题的必要性以及为什么它只出现在我的一些照片中。但删除这些行为我做了。似乎timthumb在文件中添加了一些标题,因此它不可读,而是由timthumb缓存系统本身...