我希望人们能够将zip文件上传到我的服务器。我有一个表单供他们上传,然后重定向到上传页面。我可以成功上传图片(png和jpg),但每当我尝试拉链时,我都会上传它,它没有显示任何错误,有没有办法接受zip文件?
<?php
function uploadfile()
{
$allowedExts = array("zip", "rar");
$split = explode(".",$_FILES["filework"]["name"]);
$type = strtolower($split[sizeof($split)-1]);
$rname = time().".".$type;
if (($_FILES["filework"]["type"] == "application/zip") || ($_FILES["filework"]["type"] == "application/x-zip") || ($_FILES["filework"]["type"] == "application/x-zip-compressed") && ($_FILES["filework"]["size"] < 20000000) && in_array($split, $allowedExts)) {
$destination = "uploads/".$rname;
$temp_file = $_FILES['filework']['tmp_name'];
move_uploaded_file($temp_file,$destination);
return $rname;
} else {
return $_FILES["filework"]["error"];}
}
}
?>
答案 0 :(得分:0)
试
in_array($type, $allowedExts)
此外,如果if
失败并且未生成实际错误,则不会返回任何内容,请参阅php documentation
正如DanFromGermany所说,上传过程如下:
$temp_file = $_FILES['filework']['tmp_name'];
的原因)action
页面因为您的php最后执行,所以在上传之前无法检查文件扩展名,但是如果它不符合标准,您可以忽略它。