在 php 中,我有上传文件的代码是这样的
$image_name= $_FILES['file']['name'];
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& in_array($extension, $allowedExts)) {
if ($_FILES["file"]["error"] > 0) {
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else {
move_uploaded_file($_FILES['file']['tmp_name'], $tmpName.$image_name);
}
}
现在,当我上传时,这段代码工作正常。但它不适用于文件类型验证。我只使用了
$allowedExts = array("gif", "jpeg", "jpg", "png"); to use only these types of file to upload. But this one is uploading any files type. So can someone kindly tell me where is the wrong part here. I want to upload only
“gif”、“jpeg”、“jpg”、“png”文件。任何帮助和建议都会非常感激。谢谢。