可能重复:
如何在PHP中检查上传文件的文件类型?
我在我的网站上传了功能,只允许pdf上传.如何检查上传的文件是否只是pdf.只是喜欢ckeck getimagesize()图像文件.有没有办法检查文件肯定是PDF格式.我的代码如下所示.
$whitelist = array(".pdf");
foreach ($whitelist as $item) {
if (preg_match("/$item\$/i", $_FILES['uploadfile']['name'])) {
}
else {
redirect_to("index.php");
}
}
$uploaddir='uploads/';
$uploadfile = mysql_prep($uploaddir . basename($_FILES['uploadfile']['name']));
if (move_uploaded_file($_FILES['uploadfile']['tmp_name'], $uploadfile)) {
echo "succussfully uploaded";
}
Run Code Online (Sandbox Code Playgroud)
在这redirect_to,mysql_prep并由我定义的功能.但是mime类型可以使用headers更改.所以有什么方法可以检查文件是orignal pdf吗?
Ben*_*ans 17
您可以使用PHP的文件信息功能检查文件的MIME类型.如果它返回类型为'application/pdf',那么它应该是PDF.
文件信息功能是在PHP 5.3中添加的,但在此之前,您可以使用mime_content_type函数.
mime_content_type('file.ext');
Run Code Online (Sandbox Code Playgroud)