如何在php中检查图像是否损坏?

时间:2017-12-29 11:21:52

标签: php

如何检查图像损坏或不使用PHP中的URL。是否有可能检查PHP?我需要检查使用图片网址检查图片是否损坏。

4 个答案:

答案 0 :(得分:2)

使用getimagesize()如果文件损坏,它将返回FALSE,否则如果文件正常则会返回包含mime, height and width etc等文件信息的数组,请尝试以下示例

<?php
  $fileName = 'image/corruptsample.jpg'; //filepath
  if(getimagesize($fileName) === false){
    echo "file is corrupted";
  }
  else{
    echo "file is ok";
  }

答案 1 :(得分:1)

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

否则您可以尝试这种方式并获得损坏的图片

<?php
  $ext = strtolower(pathinfo($image_file, PATHINFO_EXTENSION));
  if ($ext === 'jpg') {
    $ext = 'jpeg';
  }
  $function = 'imagecreatefrom' . $ext;
  if (function_exists($function) && @$function($image_file) === FALSE) {
    echo 'bad img file: ' . $image_file . ' ' . $function;
  }

答案 2 :(得分:1)

尝试以下解决方案,该解决方案使用curl从URL检索图像,然后对其进行验证:

select * from system.table_client

答案 3 :(得分:0)

$external_link = ‘http://www.example.com/example.jpg’;
if (@getimagesize($external_link)) {
echo  “image exists “;
} else {
echo  “image does not exist “;
}

了解更多详情 Check whether image exists on remote URL