如何利用php接受来自浏览器的上传文件,支持文本,图片或者其他二进制文件
时间: 2023-08-22 16:08:24 浏览: 103
在 PHP 中,可以使用 $_FILES 超全局变量来处理上传的文件。具体步骤如下:
1. 在 HTML 表单中添加一个文件上传字段。
```html
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload">
<input type="submit" value="Upload File" name="submit">
</form>
```
2. 在 PHP 中编写代码来处理上传的文件。
```php
// 检查文件是否成功上传
if ($_FILES["fileToUpload"]["error"] > 0) {
echo "Error: " . $_FILES["fileToUpload"]["error"] . "<br>";
} else {
// 保存上传文件到指定位置
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
echo "File uploaded successfully!";
}
```
上面的代码中,$_FILES["fileToUpload"]["error"] 用于检查文件上传是否成功,如果出现错误,会返回一个非零的错误代码。$target_dir 用于指定上传文件保存的目录,$target_file 表示上传文件的完整路径,basename() 函数用于提取上传文件的文件名。move_uploaded_file() 函数用于将临时文件移动到指定位置。
在处理上传二进制文件时,需要将表单的 enctype 属性设置为 multipart/form-data,这样浏览器才会将文件内容编码为多段消息格式进行上传。对于文本文件,可以使用 $_POST 超全局变量来获取表单中的文本数据。
阅读全文