使用这10个PHP文件操作函数轻松实现文件上传和下载
发布时间:2023-10-27 21:56:35
实现文件上传和下载,可以使用以下10个PHP文件操作函数:
1. move_uploaded_file():用于将上传的文件移动到指定目录。首先,需要在HTML表单中添加一个文件上传字段,然后使用这个函数将上传的文件移动到目标文件夹。
2. file_exists():用于检查文件是否存在。在文件下载之前,可以使用这个函数检查文件是否存在。
3. is_uploaded_file():用于检查指定的文件是否是通过HTTP POST上传的。在文件上传之前,可以使用这个函数检查文件是否是通过合法途径上传的。
4. fopen():用于打开一个文件或URL。在文件下载之前,可以使用这个函数打开文件。
5. fread():用于从打开的文件中读取数据。可以使用这个函数读取文件内容并发送给用户进行下载。
6. fwrite():用于向打开的文件中写入数据。可以使用这个函数在服务器上创建一个空白文件,并将上传的文件内容写入其中。
7. fclose():用于关闭一个打开的文件。在文件上传或下载操作完成之后,可以使用这个函数关闭打开的文件。
8. readfile():用于输出一个文件。可以使用这个函数读取文件内容并输出给用户进行下载。
9. header():用于发送原始 HTTP 头。在文件下载之前,可以使用这个函数设置响应头部信息,如文件名、文件大小等。
10. unlink():用于删除文件。在文件下载之后,可以使用这个函数删除服务器上的文件。
以下是一个简单的示例代码,展示如何使用上述文件操作函数实现文件上传和下载:
<?php
// 文件上传
if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
move_uploaded_file($tmp_name, "uploads/" . $name);
echo "文件上传成功!";
}
// 文件下载
$file = "uploads/example.txt";
if (file_exists($file)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
header('Content-Length: ' . filesize($file));
readfile($file);
unlink($file); // 下载后删除文件
exit;
} else {
echo "文件不存在!";
}
?>
以上是一个简单的文件上传和下载的实现示例。使用这10个PHP文件操作函数,可以轻松实现文件上传和下载功能。
