首页 >后端开发 >php教程 >如何使用 $_FILES 解决 PHP 中的文件上传问题?

如何使用 $_FILES 解决 PHP 中的文件上传问题?

Linda Hamilton
Linda Hamilton原创
2024-11-29 22:36:10720浏览

How to Solve File Upload Issues in PHP Using $_FILES?

使用 PHP 上传文件

本指南演示了如何使用 PHP 上传文件,解决了之前方法中遇到的常见错误。

问题:

尝试上传时将文件复制到指定文件夹时,由于使用已弃用的 HTTP_POST_FILES 变量,会出现错误。

解决方案:

以下 PHP 代码提供了现代化和更新的解决方案文件uploading:

$target_dir = "upload/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
$allowedTypes = ['jpg', 'png'];

if (isset($_POST["submit"])) {
    // Check file type
    if (!in_array($imageFileType, $allowedTypes)) {
        $msg = "Type is not allowed";
    }
    // Check if file already exists
    elseif (file_exists($target_file)) {
        $msg = "Sorry, file already exists.";
    }
    // Check file size
    elseif ($_FILES["fileToUpload"]["size"] > 5000000) {
        $msg = "Sorry, your file is too large.";
    }
    elseif (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        $msg = "The file " . basename($_FILES["fileToUpload"]["name"]) . " has been uploaded.";
    }
}

说明:

  • $_FILES["fileToUpload"] 检索文件上传信息。
  • $target_dir 指定目标文件夹。
  • 条件语句检查文件类型、存在性、和大小。
  • move_uploaded_file() 将文件移动到指定位置。
  • $msg 变量根据上传状态存储消息。

用于上传的 HTML 代码:

<form action="upload.php" method="post">

使用此更新的代码,您可以成功地将文件上传到所需的文件夹并适当处理验证错误。

以上是如何使用 $_FILES 解决 PHP 中的文件上传问题?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn