文件上传和下载是 Web 开发中常见的操作,PHP 提供了丰富的函数和类来实现文件上传和下载功能。下面是一个简单的教程,来详细介绍如何使用 PHP 实现文件上传和下载功能。
首先,我们需要在 HTML 文件中创建一个文件上传表单。例如:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传文件">
</form>
接下来,我们需要创建一个 PHP 文件(例如 upload.php
)来处理文件上传。在文件中使用 $_FILES
超全局数组来获取上传文件的信息,并将文件移动到指定的目录。
<?php
$targetDir = "uploads/";
$targetFile = $targetDir . basename($_FILES["file"]["name"]);
if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) {
echo "文件上传成功";
} else {
echo "文件上传失败";
}
?>
在 HTML 文件中创建一个下载链接,指向一个 PHP 文件(例如 download.php
),并传递要下载的文件名参数。
<a href="download.php?file=example.txt">下载文件</a>
在 download.php
文件中,我们需要读取指定的文件并将其输出到浏览器。
<?php
$filePath = "uploads/" . $_GET['file'];
if (file_exists($filePath)) {
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($filePath) . '"');
readfile($filePath);
exit;
} else {
echo "文件不存在";
}
?>
以上就是一个简单的文件上传和下载操作的 PHP 教程。在实际应用中,我们还可以加入一些安全性检查,例如限制文件大小、文件类型等,以提高系统的安全性。