PHP中的实时服务器不支持文件类型函数


File type functions not supported on a live server in PHP

我在一个实时服务器上有一个应用程序,我想在那里检查上传文件是否是图像。在我的本地主机和其他实时服务器中,除了一个当前服务器外,以下功能都在工作。

1. mime_content_type($file);
2. $file_type = exec("file $file");
3. $finfo = new finfo(FILEINFO_MIME);
   $file_type = $finfo->file($_FILES['image']['tmp_name']);

有些已弃用,有些由于安全原因已禁用。我可以有其他方法/技术来获取用于检查上传文件是否为图像的文件类型吗?

您可以使用getimagesize()来确定上传的文件是否为图像。

像这样使用,

$image_info = getimagesize($_FILES['file']['tmp_name']);
if ($image_info === FALSE) {
   die("Uploaded file is not an image.");
}

getimagesize()函数将确定任何给定图像的大小文件,并返回尺寸以及文件类型和要在普通HTML IMG标记中使用的高度/宽度文本字符串,以及对应的HTTP内容类型

如果上传的文件不是图像,它将返回FALSE