gpt4 book ai didi

php - 上传前检查文件是 zip 类型

转载 作者:行者123 更新时间:2023-12-04 18:06:30 25 4
gpt4 key购买 nike

我希望人们能够将 zip 文件上传到我的服务器。我有一个供他们上传的表格,它会重定向到上传页面。我可以成功上传图片(png 和 jpg),但是每当我尝试 zip 时我都无法上传,它没有显示任何错误,有没有办法接受 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"];}
}
}
?>

最佳答案

尝试

in_array($type, $allowedExts)

此外,如果您的 if 失败并且没有生成实际错误,则不会返回任何内容,请参阅 php documentation

正如DanFromGermany所说的上传过程如下:

  1. 用户发送带有所选文件的表单
  2. 服务器将文件加载到临时文件夹(这就是为什么您需要 $temp_file = $_FILES['filework']['tmp_name'];)
  3. 服务器执行 php 脚本以呈现表单的 action 页面

因为您的 php 最后执行,所以它无法在上传前检查文件扩展名,但是如果临时文件不符合条件,您可以忽略它。

关于php - 上传前检查文件是 zip 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25165814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com