检测图像是否损坏或损坏

Dil*_*nte 5 javascript php python image

我需要以编程方式检查用户在我的应用程序上选择作为他的墙纸的图像是否损坏或损坏......基本上我为用户提供了选择他自己的图像作为墙纸的选项。现在当图像加载时,我只想检查它是否以某种方式损坏......

小智 6

相反,如果您正在寻找 PHP 解决方案而不是 javascript 解决方案(潜在重复项不提供),您可以在 PHP 中使用 GD 的getimagesize()并查看它返回的内容。当提供的图像格式无效时,它将返回 false 并抛出错误。


小智 5

这是一个 PHP CLI 脚本,您可以在一个充满图像的目录上运行它,它会根据imagecreatefrom***()测试记录哪些文件已损坏。它可以只记录坏文件或采取行动并删除它们。

https://github.com/e-ht/literate-happiness

您还可以将其插入数据库以对您可能已存储的图像路径执行操作。

这是它使用的函数的主要内容:

$loopdir = new DirectoryIterator($dir_to_scan);
foreach($loopdir as $fileinfo) {
    if(!$fileinfo->isDot()) {
        $file = $fileinfo->getFilename();
        $file_path = $dir_to_scan . '/' . $file;
        $mime_type = mime_content_type($file_path);
        switch($mime_type) {
            case "image/jpg":
            case "image/jpeg":
                $im = imagecreatefromjpeg($file_path);
                break;
            case "image/png":
                $im = imagecreatefrompng($file_path);
                break;
            case "image/gif":
                $im = imagecreatefromgif($file_path);
                break;
        }
        if($im) {
            $good_count++;
        }
        elseif(!$im) {
            $bad_count++;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)