我正在嘗試使用finfo來確定文件是否在將圖像文件上傳到服務器之前。我的問題是,下面的代碼僅適用於jpeg,但我也有其他文件類型允許。所以,我有2個問題:如何使用finfo確定多個文件類型?
問題1:
如何使用FINFO檢查多個文件類型,如GIF,TIFF,PNG,ICO等
問題2:我是否需要使用其他驗證方法來檢查,看看是否是一個圖像或是我下面得到的是足夠的?
下面是代碼:
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = image_type_to_mime_type(exif_imagetype('/path/to/file.jpg'));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/tiff")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/bmp")
|| ($_FILES["file"]["type"] == "image/ico")
{
if ($finfo !== FALSE){
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
@finfo_close($finfo);
}
}
你的代碼究竟有什麼問題?它不是正在檢查多種文件類型嗎? – Jeroen