+
+
  • 简体中文
  •     图片是指由图形、图像等构成的平面媒体。图片的格式很多,但总体上可以分为点阵图和矢量图两大类,我们常用BMP、JPG等格式都是点阵图形,而SWF、CDR、AI等格式的图形属于矢量图形。

    php判断文件是否为图片  php 图片 判断 字节 函数 第1张

        方法一(推荐):

        使用 exif_imagetype 函数,该函数用于判断一个图像的类型。函数读取一个图像的第一个字节并检查其签名,如果发现了恰当的签名则返回一个对应的常量,否则返回 FALSE。返回值和 getimagesize() 返回的数组中的索引 2 (方法二的 $info['2'] )的值是一样的,但该函数要快得多。

    $path = '图片地址';
    $mimetype = exif_imagetype($path);
    if ($mimetype == IMAGETYPE_GIF || $mimetype == IMAGETYPE_JPEG || $mimetype == IMAGETYPE_PNG || $mimetype == IMAGETYPE_BMP){
    	echo "是图片";
    }else {
    	echo "不是图片";
    }
    
    //该函数的返回值常量定义如下
    IMAGETYPE_GIF
    IMAGETYPE_JPEG
    IMAGETYPE_PNG
    IMAGETYPE_SWF
    IMAGETYPE_PSD
    IMAGETYPE_BMP
    IMAGETYPE_TIFF_II(Intel 字节顺序)
    IMAGETYPE_TIFF_MM(Motorola 字节顺序)
    IMAGETYPE_JPC
    IMAGETYPE_JP2
    IMAGETYPE_JPX
    IMAGETYPE_JB2
    IMAGETYPE_SWC
    IMAGETYPE_IFF
    IMAGETYPE_WBMP
    IMAGETYPE_XBM

        方法二:

        getimagesize函数获取图片信息,然后进行判断。

    $path = '图片地址';
    function isImage($imgPath){
    	$types = '.gif|.jpeg|.png|.bmp'; //定义检查的图片类型
    	if(file_exists($imgPath)){
    		if($info = getimagesize($imgPath)) return 0;
    		$ext = image_type_to_extension($info['2']);
    		return stripos($types, $ext);
    	}else {
    	  return false;
    	}
    }
      
    if(isImage($path)!==false){
    	echo '是图片';
    }else {
    	echo '不是图片';
    }

        方法三:

        读取图片的前 2 个字节,然后判断是不是图片

    function isImage($imgPath){ 
    	$file  = fopen($imgPath, "rb"); 
    	$bin  = fread($file, 2); // 只读2字节 
    
    	fclose($file); 
    	// 标识前两个字符按照,c格式,数组索引chars1、chars2
    	$strInfo = unpack("C2chars", $bin); 
    	$typeCode = intval($strInfo['chars1'].$strInfo['chars2']); 
    	$fileType = ''; 
    
    	if($typeCode == 255216 /*jpg*/ || $typeCode == 7173 /*gif*/ || $typeCode == 13780 /*png*/) { 
    		return $typeCode; 
    	}else {
    		return false; 
    	} 
    }
      
    if(isImage($path)!==false){
    	echo '是图片';
    }else {
    	echo '不是图片';
    }
    版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用 / Article Is Not Licensed Under Any Creative Commons License, And You May Freely Reprint Or Use It In Any Form
    上一篇
    4875浏览
    0评论
    修改主板BIOS文字信息
    • 2022-07-19
    图片是指由图形、图像等构成的平面媒体。图片的格式很多,但总体上可以分为点阵图和矢量图两大类,我们常用BMP、JPG等格式都是点阵图形,而SWF、CDR、AI等格式的图形属于矢量图形。
    下一篇
    1585浏览
    0评论
    php获取文件拓展名
    • 2022-07-22
    图片是指由图形、图像等构成的平面媒体。图片的格式很多,但总体上可以分为点阵图和矢量图两大类,我们常用BMP、JPG等格式都是点阵图形,而SWF、CDR、AI等格式的图形属于矢量图形。
    发布评论 / 取消回复

    二维码

    感谢您的赞助