Avatars
Новичок
fopen (http) - файл jpg бьется при открытии с НЕКОТОРЫХ сайтов
Задача - спереть удаленно (по http) файл картинки и передать его на resize и сохранить локально.
Делаю:
сохраняю во временный файл temp.jpg и его отправляю в функцию resize(), использующую imagecopyresampled()
C большинством url все проходит великолепно. А с некоторыми сайтами, например,
$picurl = 'http://www.oriflame.ru/images/catalogImagesRepository/product/global/4648_l.jpg';
Следующие ошибки:
1) imagecreatefromjpeg() gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file
imagecreatefromjpeg() 'temp.jpg' is not a valid JPEG file
2) если попробовать filesize() , то ошибка: stat failed for...
При этом файл temp.jpg (прочитанный fread() ) сохраняется и отлично показывается в проводнике. Но если его попробовать передать (fopen локально) функции resize(), то возникают те же ошибки.
Попробовал сохранить из браузера этот файл и уже тогда его resize() - работает нормально. То есть файл бьется при fopen? Пробовал ставить и убирать параметр 'b' функции fopen - на результат не повлияло.
Подчеркиваю, что это происходит со всеми картинками с некоторых сайтов .
Подскажите где ковырнуть, что попробовать еще?
Задача - спереть удаленно (по http) файл картинки и передать его на resize и сохранить локально.
Делаю:
PHP:
$f = fopen("$picurl", 'r'); $file = fread ($f, 2000000);
C большинством url все проходит великолепно. А с некоторыми сайтами, например,
$picurl = 'http://www.oriflame.ru/images/catalogImagesRepository/product/global/4648_l.jpg';
Следующие ошибки:
1) imagecreatefromjpeg() gd-jpeg, libjpeg: recoverable error: Premature end of JPEG file
imagecreatefromjpeg() 'temp.jpg' is not a valid JPEG file
2) если попробовать filesize() , то ошибка: stat failed for...
При этом файл temp.jpg (прочитанный fread() ) сохраняется и отлично показывается в проводнике. Но если его попробовать передать (fopen локально) функции resize(), то возникают те же ошибки.
Попробовал сохранить из браузера этот файл и уже тогда его resize() - работает нормально. То есть файл бьется при fopen? Пробовал ставить и убирать параметр 'b' функции fopen - на результат не повлияло.
Подчеркиваю, что это происходит со всеми картинками с некоторых сайтов .
Подскажите где ковырнуть, что попробовать еще?