2011-12-29 13 views
0

現在のTimthumbスクリプトを使用して、一部のレストラン画像のサムネイルを生成しています。私はスクリプトを拡張し、より効果的なキャッシュを持つようにします。コードが作らhere on pastebinTimthumbスクリプトで間違ったヘッダーが生成される

変更見つけることができます

を私はSmartyのキャッシュシステムを使用していないと、この行は画像に私のためにほとんどの時間を破ったので、ライン216は、セキュリティ文字列を削除

線315から345はdiffernetのキャッシュパス

を使用し、ファイルが一度

生成されている場合、私はtimthumbとPHPを使用しないように、次のhtaccessのルールを使用
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] 

悲しいことに、私はいくつかの写真のために応答として壊れた画像を取得します。 Timthumb 例えば:http://image.yourdelivery.de/lieferando.de/service/13003/Arman-155-100.jpg

作成したイメージで作成したオリジナル http://lieferando.de.s3.amazonaws.com/restaurants/12381/default.jpg

は、先頭追加JPG?>を持っており、これはどこから来るのか私は知りません。誰か手掛かりは?

+0

私は 'jpg?>'はスクリプト生成サムからだと思います。このスクリプトはサーバーでPHPとして解析されないか、エラーがあります。 PHPのエラーログを見てみてください。 – piotrekkr

+0

悲しいことに、PHPエラーログにエラーはありません – MatthiasLaug

+0

'timthumb.php'のbeginigで' error_reporting(E_ALL) 'を追加しようとしましたか? – piotrekkr

答えて

0

私は、timthumbがそれらの行を追加する部分を見つけました。

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

ここで、変数$ imgTypeが追加されています。私はそのヘッダーの必要性を理解しておらず、なぜ私の写真の一部にしかないのかを理解していません。しかし、それらの行を削除することは私のためにそれをしました。それはtimthumbがファイルにいくつかのヘッダーを追加するように見えるので、読み込みはできませんが、システム自体をキャッシュするtimthumbによって...

関連する問題