【发布时间】:2017-03-07 19:58:11
【问题描述】:
我正在编写一个脚本,该脚本必须处理大量图像,我需要一种优雅的方式来处理集中损坏/截断的图像。
目前我的脚本适用于所有有效图像,但在遇到截断文件时会崩溃。它一定是偷偷溜进了文件夹,但我还是想处理这个案子。
它是一个 *.png.tmp 文件,当将它提供给 imagecreatefrompng() 时,它会导致致命错误并停止我的脚本。
Fatal error: imagecreatefrompng(): gd-png: fatal libpng error: Read Error: truncated data...
getimagesize() 和 exif_imagetype() 都将其识别为 PNG。
由于我无法将其作为异常处理,有没有办法在不使我的脚本崩溃并且不依赖文件名中的扩展名的情况下检查文件是否有效?
我可以忍受跳过图像,但我不知道如何在遇到致命错误之前将其识别为问题图像。
【问题讨论】:
-
为什么不使用 try/catch?
-
@Pitchinnate 无法在致命错误中幸存 =(
-
如何做到这一点实际上是唯一的example on the
imagecreatefrompngmanual page... -
这是一个 php 错误 stackoverflow.com/questions/45936271/…