PHP найти и удалить неполные загруженные изображения

У меня есть папка с 100 000 изображений, но иногда у меня есть неполные изображения. Можно ли обнаружить эти поврежденные картинки в PHP? Я приложил пример изображения, как вы можете видеть, второе изображение вырезано внизу. Есть ли способ обнаружить, что первое изображение является полным изображением, а второе — неполным?

Я не вырезал изображение вручную, оно было скачано так. Есть ли что-то вроде «начального тега» и «конечного тега» в необработанных данных файла изображения, и я могу проверить, установлены ли оба параметра? Изображение не обрезается здоровым способом, я прикрепил скриншот миниатюры.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

-1

Решение

Обрезанное изображение не является поврежденным изображением, если изображение повреждено, вы не можете вернуть свойство, такое как высота и ширина. Таким образом, изображение, которое вы показали в примере, не является поврежденным.

Если вы хотите проверить, повреждено ли изображение или нет, вы можете сделать, как показано ниже

//loop for images file in directory
foreach (glob("*.*") as $filename) {
//if it is not image delete it
if(!@is_array(getimagesize($filename))){
unlink($filename);
}

}
}
0

Другие решения

Ваше второе изображение является действительным изображением, не поврежденным в любом случае, и даже размеры одинаковы. Просто обрезается. Конечно, вы можете перебрать все изображения с помощью PHP или скрипта на любом другом языке, но каким-то образом вы должны определить программно, если изображение «повреждено».

Если обрезка является единственным критерием, вы должны найти библиотеку изображений или инструмент, который может определить, обрезано ли изображение или нет, и это будет трудная часть. С PHP exec() например, вы можете вызвать такой инструмент в цикле.

После того, как вы обновили свой вопрос, возможно, у вас поврежден изображения, чтобы разобраться. Обнаружение которого должно быть проще. Этот вопрос уже задавался здесь: Обнаружение, повреждено ли изображение или сломано

-1