如何检查文件是否为图像?

pra*_*tik 10 php image

我可以检查某个文件是否是图像吗?怎么能用PHP做到这一点?

如果文件不是图像,我想给出一条警告信息.

Wes*_*rch 5

除此之外getimagesize(),您还可以使用exif_imagetype()

exif_imagetype()读取图像的第一个字节并检查其签名.

找到正确的签名后,将返回相应的常量值,否则返回值为FALSE.返回值与getimagesize()在索引2中返回的值相同,但exif_imagetype()要快得多.

对于这两个函数,如果文件未确定为图像,则返回FALSE.


mac*_*ack 2

在 PHP 中你可以像下面的方式这样做

if ((($_FILES['profile_picture']['type'] == 'image/gif') || ($_FILES['profile_picture']['type'] == 'image/jpeg') || ($_FILES['profile_picture']['type'] == 'image/png')))
Run Code Online (Sandbox Code Playgroud)

在 Javascript 中你可以像下面的方式那样做

function checkFile() {
   var filename = document.getElementById("upload_file").value;
   var ext = getExt(filename);
 //  alert(filename.files[0].filesize);
  // alert(ext);
   if(ext == "gif" || ext == "jpg" || ext=="png")
      return true;
   alert("Please upload .gif, .jpg and .png files only.");
   document.getElementById("upload_file").value='';
   return false;
}

function getExt(filename) {
   var dot_pos = filename.lastIndexOf(".");
   if(dot_pos == -1)
      return "";
   return filename.substr(dot_pos+1).toLowerCase();
}
Run Code Online (Sandbox Code Playgroud)