欢迎访问宙启技术站
智能推送

使用这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文件操作函数,可以轻松实现文件上传和下载功能。