发布于2026-07-01 阅读(0)
扫一扫,手机访问
在 CentOS 环境下用 PHP 做文件上传,其实并没有想象中那么复杂。核心只需要搞清楚两个部分:一个能提交文件的 HTML 表单,和一个能接收并处理文件的后端脚本。下面我们一步步把这件事拆开来讲。

先看前端。HTML 表单必须把 enctype 属性设为 multipart/form-data,这是文件传输的“通行证”,少了它文件数据传不过去。同时表单的 method 要用 POST,用 GET 是走不通的。下面是最基本的模板:
File Upload
接下来是重点——后端处理脚本 upload.php。这个文件需要完成几件事:设定目标目录、检查文件是否合规(类型、大小、是否已存在),最后用 move_uploaded_file() 把临时文件移到目标位置。注意,这里写的是一个相对严格的示例,只允许 JPG、PNG、JPEG、GIF 格式,且限制 500KB 以下。实际使用时可以根据需要调整。
500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// 如果检查未通过,则拒绝上传
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
} else {
// 尝试移动文件
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file " . htmlspecialchars(basename($_FILES["fileToUpload"]["name"])) . " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
?>
在服务器上要跑通这个流程,需要先确认 PHP 已经正确安装。执行 php -v 就能看到版本号。如果没装好,先做准备工作。另外,还必须在项目根目录下创建一个 uploads 文件夹,并设置适当的权限——通常 755 就够了,确保 PHP 进程有写入权限:
mkdir uploads
chmod 755 uploads
把两个文件(HTML 表单和 PHP 脚本)传到 CentOS 服务器的相应目录下,然后通过浏览器访问刚写好的 HTML 页面。选一个合规的图片文件,点击上传,如果一切顺利,你会看到成功提示,同时 uploads 目录里也会出现该文件。
需要留个心:上面的例子只做了最基本的校验。真实生产环境中,文件上传往往是攻击者最喜欢利用的入口之一。建议至少补充以下措施:用更严格的 MIME 类型检测、限制文件大小上限、对文件名做随机化处理防止路径穿越、把上传目录置于 web 根目录之外(避免直接访问),以及结合服务器端的防病毒扫描。安全性再怎么强调都不为过。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8