如何安全地实现PHP文件上传功能?

“`php,,,,,,,

1、创建一个名为upload.html 的文件,内容如下:

如何安全地实现PHP文件上传功能?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF8">
    <meta name="viewport" content="width=devicewidth, initialscale=1.0">
    <title>文件上传</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/formdata">
        选择要上传的文件:
        <input type="file" name="fileToUpload" id="fileToUpload">
        <input type="submit" value="上传文件" name="submit">
    </form>
</body>
</html>

2、创建一个名为upload.php 的文件,内容如下:

<?php
$target_dir = "uploads/"; // 设置上传目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 获取上传文件的路径
$uploadOk = 1; // 初始化上传状态为成功
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); // 获取文件扩展名
// 检查文件是否已经存在
if (file_exists($target_file)) {
    echo "抱歉,文件 ". basename($_FILES["fileToUpload"]["name"]). " 已经存在。";
    $uploadOk = 0;
}
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 500000) { // 限制文件大小为 500KB
    echo "抱歉,你的文件太大。";
    $uploadOk = 0;
}
// 限制允许的文件格式
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif") {
    echo "抱歉,仅支持 JPG, JPEG, PNG & GIF 格式。";
    $uploadOk = 0;
}
// 如果一切正常,尝试上传文件
if ($uploadOk == 1) {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
        echo "文件 ". basename($_FILES["fileToUpload"]["name"]). " 已成功上传。";
    } else {
        echo "抱歉,上传文件时出错。";
    }
} else {
    echo "抱歉,无法上传文件。";
}
?>

3、在您的服务器上创建一个名为uploads 的文件夹,用于存储上传的文件。

如何安全地实现PHP文件上传功能?

4、将这两个文件放在您的 Web 服务器的根目录下,然后通过浏览器访问upload.html 页面,选择一个文件并点击上传按钮,如果一切正常,文件将被上传到uploads 文件夹中。

小伙伴们,上文介绍了“php 文件上传源码”的内容,你了解清楚吗?希望对你有所帮助,任何问题可以给我留言,让我们下期再见吧。

如何安全地实现PHP文件上传功能?

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1179651.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-10-07 20:12
下一篇 2024-10-07 20:15

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入