怎么用PHP做上传文件,如何使用PHP上传文件【附源代码】
时间: 2024-02-16 16:05:25 浏览: 58
使用PHP上传文件,可以通过以下步骤实现:
1. 创建一个 HTML 表单,包含一个文件上传输入框。
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
```
2. 创建一个 PHP 脚本(例如 upload.php),用于处理上传的文件。在脚本中,可以使用 $_FILES 数组来访问上传的文件。
```php
$target_dir = "uploads/"; // 上传文件保存的目标目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 上传文件的全路径
$uploadOk = 1; // 上传是否成功的标志,默认为成功
// 检查文件是否已经存在
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// 检查文件大小是否符合要求
if ($_FILES["fileToUpload"]["size"] > 5000000) { // 5MB
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// 允许上传的文件类型
$allowed_types = array("jpg", "jpeg", "png", "gif");
$file_type = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
if (!in_array($file_type, $allowed_types)) {
echo "Sorry, only JPG, JPEG, PNG, GIF files are allowed.";
$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 ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}
```
在上述代码中,我们首先定义了上传文件保存的目标目录 $target_dir,然后获取上传文件的全路径 $target_file。接着,我们检查了上传文件的一些限制条件,包括文件是否已经存在、文件大小是否符合要求、文件类型是否允许上传。最后,如果上传成功,我们将文件保存到目标目录中。
注意:要在 PHP.ini 中开启 file_uploads 选项,以允许文件上传。
以上就是使用 PHP 上传文件的基本流程和示例代码。
阅读全文