Я использую текущий скрипт Timthumb для создания эскизов некоторых изображений ресторанов. Я расширяю скрипт, чтобы иметь более эффективное кэширование.
Код можно найти здесь, на pastebin
Изменения сделаны:
Строка 216 удалила строку безопасности, потому что я не использую умную систему кэширования, и эти строки большую часть времени для меня ломают изображения
Строки 315 - 345 используют путь кэширования difnet
Я использую следующее правило 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?> , и я не знаю, откуда это. У кого-нибудь есть подсказка?
Я нашел часть, где timthumb добавляет эти строки.
file_put_contents($tempfile4, $this->filePrependSecurityBlock . $imgType . ' ?' . '>'); //6 extra bytes, first 3 being image type
, где добавляется переменная $ imgTypeЯ не очень понимаю необходимость этого заголовка и почему это только на некоторых из моих фотографий.Но удаление этих строк сделало это для меня.Кажется, что timthumb добавляет некоторые заголовки к файлу, поэтому он не будет доступен для чтения, но сама система кэширования timthumb ...