我使用下面的脚本来检查文件类型,同时上传以限制文件上传到jpg / jpeg,png。但它不能用于IE(与mozilla一起工作)。所以我需要一个适用于所有浏览器的脚本。 / p>
$destination_path = getcwd().DIRECTORY_SEPARATOR;
$target_path = $destination_path . basename( $_FILES['myfile']['name']);
$types=array('image/png','image/jpeg');
if (in_array($_FILES['myfile']['type'], $types))
{
if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) {
$result = 1;
}
}
else
{
$result = 0;
}
答案 0 :(得分:1)
IE为jpg设置了不同的文件类型标头,因此请将image/pjpeg
添加到$types
。
$types=array('image/png','image/jpeg', 'image/pjpeg');
答案 1 :(得分:1)
谷歌上的一点点时间,你会发现它适用于所有人 浏览器
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
$_FILES["file"]["name"]=$_FILES["file"]["name"];
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 50000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
$filename= "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}