Как средтсвами php проверить целостность jpg

  • Автор темы Автор темы grey109
  • Дата начала Дата начала

grey109

Новичок
Как средтсвами php проверить целостность jpg

Написал простой скрипт, который делает превьюшки для всех картинок из заданного каталога. Но в результате работы обнаружился такой надочет: если одна из картинок битая, то скрипт зависает, а нагрузка на процессор взлетает до 100%. Помогает только перезапуск Апача.

Вопрос: как средтсвами php проверить целостность jpg?
 
PHP:
<?php
echo "<img src='image.jpg'>";
?>
Откраваем браузером и смотрим - битая/небитая.
:D :D :D :D :D
 
if ($size[2] == 2) // файл JPG
{
$pict_tmp = ImageCreateFromJpeg($dir2.$filename);
$pict_small = ImageCreateTrueColor($width_new, $height_new);
ImageCopyResized ($pict_small,$pict_tmp,0,0,0,0,$width_new,$height_new,$width_base,$height_base);
ImageJPEG ($pict_small, "thumbnails/".$file, 40);
}
 
>если одна из картинок битая, то скрипт зависает, а нагрузка на процессор взлетает до 100%.
версия РНР, Апаче, ОС - ?
 
Андрей, на самом деле там только заголовок читается.
по большому счету, я вообще слабо себе представляю как можно проверить целостность картинки, кроме как визуально.
поэтому меня больше интересует почему Апач при этом виснет...
я попробую эту картинку.
 
я вообще слабо себе представляю как можно проверить целостность картинки, кроме как визуально
Т.к. превьюшки будут делаться с нескольких тысяч картинок, то просмотреть все картинки проблематично, да и "битую" картинку можно визуально незаметить.

Может есть какой-нибудь аналог GD?
 
>картинку можно визуально незаметить.
есть другие предложения?
у меня - нет.

>Может есть какой-нибудь аналог GD?
есть
http://pear.php.net/package-info.php?pacid=76
 
Была такая же проблема. Но выход есть всегда. Попробуй задать условие. Сначала определяем вес (КБ) картинки, потом проверяем, если размер картинки меньше 1KB -- значить картинки нет на сервере, а это значит, что php не отобразит картинку, и сервер не повиснет. Если нужен php-код, то напишу. А на счёт целостности чё-та не слышал…
 
Turitsyn, доброе утро :)

Посмотри на дату последнего поста. Человек может уже с пхп и завязал к этому времени :))
 
Сверху