使用PHP检测上传的文件类型
我注意到,对于同一个文件,使用PHP检测上传的文件类型,php,file,upload,Php,File,Upload,我注意到,对于同一个文件,$\u FILES['file']['type']根据您是从windows客户端还是mac客户端上载而有所不同 我在服务器端使用PHP。我如何才能绝对确定文件类型?已经给出了一些答案,例如: 我想把它明确化,这是我找到的最有效的方法 1) 安装finfo库 2) 在$\u文件['file']['tmp\u name']上使用finfo函数 下面是我用来检测zip文件的函数 /** * Detect from the $_FILES['file'] array *
$\u FILES['file']['type']
根据您是从windows客户端还是mac客户端上载而有所不同
我在服务器端使用PHP。我如何才能绝对确定文件类型?已经给出了一些答案,例如: 我想把它明确化,这是我找到的最有效的方法 1) 安装finfo库 2) 在$\u文件['file']['tmp\u name']上使用finfo函数 下面是我用来检测zip文件的函数
/**
* Detect from the $_FILES['file'] array
*
* @param Array $data is the $_FILES['file'] array
* @return boolean Return true if uploaded file is a zip file
*/
public function isZip($data = null) {
if ($data == null) {
$data = $_FILES['file'];
}
$tmpname = $data['tmp_name'];
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mimetype = finfo_file($finfo, $tmpname);
if($mimetype == 'application/zip') {
return true;
}
return false;
}
我希望这样做是为了防止其他PHP开发人员犯与我相同的错误,并花费2小时进行故障排除