如何在 php 网站中上传文件
1. 表单配置
在 HTML 表单中包含必要的元素:
-
:允许用户选择文件。 -
enctype="multipart/form-data":指定表单内容包含二进制数据(文件)。 -
name属性:指定文件输入字段的名称,用于 PHP 脚本中的引用。
2. PHP 脚本
在 PHP 脚本中,接收上传的文件:
立即学习“PHP免费学习笔记(深入)”;
if (isset($_FILES['myFile'])) {
// 获取文件信息
$fileName = $_FILES['myFile']['name'];
$fileType = $_FILES['myFile']['type'];
$fileTempName = $_FILES['myFile']['tmp_name'];
$fileSize = $_FILES['myFile']['size'];
// 验证文件类型、大小等
if ($fileType != 'image/jpeg') {
echo '错误:文件类型必须为 JPEG。';
exit;
}
if ($fileSize > 100000) {
echo '
错误:文件大小不能超过 100 KB。';
exit;
}
// 将文件移动到永久存储位置
$destination = 'uploads/' . $fileName;
move_uploaded_file($fileTempName, $destination);
// 成功上传的提示
echo '
文件已成功上传。';
}
3. 文件验证
建议验证上传的文件以确保其安全性,例如:
- 检查文件类型是否符合预期。
- 检查文件大小是否在允许的范围内。
- 使用病毒扫描器扫描文件。
- 对文件名进行消毒以防止不安全的字符。
4. 处理上传错误
如果在上传过程中出现错误,可以通过检查 $_FILES['myFile']['error'] 来处理:
-
0:没有错误。 -
1:文件大小超过upload_max_filesize指令。 -
2:文件大小超过 MAX_FILE_SIZE 指令。 -
3:文件只有部分上传。 -
4:没有上传文件。 -
6:找不到临时文件夹。 -
7:无法写入磁盘。 -
8:PHP 扩展停止文件上传。











