php 文件上传的基本例子:前端表单+后端代码

发布时间:2025-04-28      访问量:27
在PHP中,文件上传是一个常见的功能,通常结合HTML表单和PHP脚本来实现。下面为你展示如何实现一个基本的文件上传功能。

步骤分析
1. **创建HTML表单**:用于用户选择要上传的文件。
2. **创建PHP脚本**:处理文件上传的逻辑。

代码示例
以下是一个完整的示例,包含HTML表单和PHP脚本。
<?php // 检查是否有文件上传 if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_FILES["fileToUpload"])) { $targetDir = "uploads/"; $targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); // 检查文件是否已经存在 if (file_exists($targetFile)) { echo "抱歉,文件已存在。"; $uploadOk = 0; } // 检查文件大小 if ($_FILES["fileToUpload"]["size"] > 500000) { echo "抱歉,文件太大。"; $uploadOk = 0; } // 允许的文件类型 $allowedTypes = array("jpg", "jpeg", "png", "gif"); if (!in_array($imageFileType, $allowedTypes)) { echo "抱歉,只允许上传 JPG, JPEG, PNG 和 GIF 文件。"; $uploadOk = 0; } // 检查 $uploadOk 是否为 0 if ($uploadOk == 0) { echo "抱歉,你的文件未上传。"; } else { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) { echo "文件 ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " 已成功上传。"; } else { echo "抱歉,上传文件时发生错误。"; } } } ?> <!DOCTYPE html> <html> <body> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post" enctype="multipart/form-data"> 选择要上传的图片: <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" value="上传文件" name="submit"> </form> </body> </html>

代码解释
1. **HTML表单**:创建了一个包含文件选择框和提交按钮的表单,表单的 `enctype` 属性设置为 `multipart/form-data`,这是文件上传所必需的。
2. **PHP脚本**:
- 检查是否有文件上传,并且请求方法是否为 `POST`。
- 定义目标目录和目标文件名。
- 进行一系列检查,如文件是否已存在、文件大小是否符合要求、文件类型是否允许。
- 如果所有检查都通过,使用 `move_uploaded_file` 函数将临时文件移动到目标目录。

注意事项
- 确保 `uploads` 目录存在,并且具有写入权限。
- 可以根据需求调整文件大小限制和允许的文件类型。
堆内存
多线程
strdup
初始化器
冒泡排序
增删改查
BufferedReader
输入输出
面向对象
生命周期
闭包的概念
原型链
Flask
mysql-connector-python
单例模式
浅拷贝
隔离级别
索引
InnoDB
左连接
聚合函数
PuTTY
TRUNCATE
str_starts_with_many
DateTime
array_combine
闭包的概念