处理图片路径/检测图片是否完整性/获取图片基础信息

上代码!

/**
* 方法:处理图片路径/检测图片是否完整性/获取图片基础信息
* $imageUrl 待处理图片路径 
* $imgType  是否指定图片类型(jpg,gif,png,bmp)
* $getimagesize  是否返回图片更多详情
* return  Array
* error 0-图片完整无误/1-图片残缺
*/
function damage($imageUrl,$imgType=null,$getimagesize=0){
    //获取图片资源
    $ext = $imgType==null||$imgType==0 ? substr($imageUrl,strrpos($imageUrl,'.')+1,3):$imgType;
    switch ($ext) {
        case 'jpg':
            $img_source = imagecreatefromjpeg($imageUrl);
            break;
        case 'gif':
            $img_source = imagecreatefromjpeg($imageUrl);
            break;
        case 'png':
            $img_source = imagecreatefromjpeg($imageUrl);
            break;
        case 'bmp':
            $img_source = imagecreatefromjpeg($imageUrl);
            break;
        default:
            $img_source = null;
            break;
    }
    if($img_source==null){
        return 'sorry,Sir 仅受理JPG,GIF,PNG,BMP图片类型';
    }
    
    //获取图片的长和宽,便于获取图片某点的颜色值
    
    $img_size = getimagesize($imageUrl);
    
    $img_width = 2;
    
    $img_height = $img_size[1] - 2;
    
    //取得这点像素的颜色索引值
    
    $color_index = imagecolorat($img_source, $img_width, $img_height);
    
    if($color_index == 8421504){
        // $return['intact'] = '图片缺失';
        $return['error'] = 1;
    }else{
        $return['error'] = 0;
    }
    //获得图片详情信息
    if($getimagesize!=0){
        $return['img_data']=$img_size;
    }
    return $return;
    
}

测试

/**
* 方法:处理图片路径/检测图片是否完整性/获取图片基础信息
* $imageUrl 待处理图片路径 
* $imgType  是否指定图片类型(jpg,gif,png,bmp)
* $getimagesize  是否返回图片更多详情
* return  Array
* error 0-图片完整无误/1-图片残缺
*/
  $imageUrl='9999999999.png';
$data=damage($imageUrl,'png',1);

print_r($data);

 

posted @ 2022-05-18 16:15  芒果鱼  阅读(274)  评论(0)    收藏  举报