当前位置: 首页> 最新文章列表> PHP 文件上传与下载教程:实现文件上传与下载功能

PHP 文件上传与下载教程:实现文件上传与下载功能

gitbox 2025-07-28

PHP 文件上传与下载功能介绍

文件上传和下载是 Web 开发中常见的功能之一。在 PHP 中,实现文件上传和下载操作非常简单。本文将带你了解如何在 PHP 中实现这些功能,具体包括上传文件和下载文件的代码示例。

文件上传

文件上传通常通过 HTML 表单提交,并使用 PHP 进行处理。在 PHP 中,处理上传文件主要涉及两个重要函数:move_uploaded_file$_FILES

move_uploaded_file 用于将上传的文件从临时目录移动到目标目录,而 $_FILES 变量包含了上传文件的详细信息,如文件名、临时存储路径等。

下面是一个基础的文件上传表单:

<form action="upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="fileToUpload">
  <input type="submit" value="上传文件">
</form>

此表单通过设置 enctype="multipart/form-data" 来支持文件上传。

接下来,在 PHP 文件中处理上传文件的代码如下:

<?php
$target_dir = "uploads/"; // 上传文件的目录
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); // 上传文件的路径
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
    echo "文件上传成功";
} else {
    echo "文件上传失败";
}
?>

这段代码将上传的文件移动到指定目录 uploads/ 中,并输出上传是否成功的提示。

上传文件时,需要确保目标目录具备适当的权限,通常需要设置为 755。

文件下载

文件下载功能可以通过 PHP 的 header 函数来实现。下面是一个文件下载的基本示例:

<?php
$file = 'path/to/file.pdf'; // 要下载的文件路径
$filename = 'file.pdf'; // 下载时的文件名
header('Content-Disposition: attachment; filename="' . $filename . '"');
readfile($file);
?>

这段代码通过设置 Content-Disposition HTTP 头部,指示浏览器下载文件,而不是在浏览器中直接显示。

确保文件路径正确并具有读取权限是实现文件下载的前提。

总结

通过使用 PHP 内置的函数,文件上传和下载操作变得非常简单。在上传文件时,使用 move_uploaded_file 将文件移动到目标位置,而在下载文件时,利用 headerreadfile 实现文件的输出。根据需求,你还可以为文件上传和下载增加更多的功能,如限制文件类型、文件大小等。

掌握这些基本的 PHP 文件操作功能后,你可以根据项目需求进一步扩展和优化上传下载功能。