在PHP中实现文件下载功能,可以通过以下步骤来完成:
下面是一个简单的PHP文件下载示例代码:
<?php
// 设置文件路径和名称
$file_path = 'path/to/your/file.txt';
$file_name = 'downloaded_file.txt';
// 检查文件是否存在
if (file_exists($file_path)) {
// 设置头信息
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
// 清除输出缓冲区
ob_clean();
ob_end_flush();
// 读取文件并输出
readfile($file_path);
// 终止脚本
exit;
} else {
echo "文件不存在!";
}
?>
在这个示例中,首先设置了文件的路径和名称。然后检查文件是否存在,如果存在,则设置了一系列的HTTP头信息来告诉浏览器这是一个文件下载请求,并指定了文件名和文件大小。接着使用readfile()
函数读取文件内容并输出到浏览器。最后,终止脚本执行。如果文件不存在,则向用户显示错误消息。