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

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

Linda Hamilton
发布: 2024-11-29 22:36:10
原创
636 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板