<?php
// 设置下载文件的路径
$filePath = '/path/to/your/file.zip';
// 确保文件存在
if (!file_exists($filePath)) {
die('文件不存在!');
}
// 设置文件头信息
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($filePath).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($filePath));
// 读取文件内容并输出到浏览器
readfile($filePath);
exit;
?>
这段代码展示了如何在PHP中设置HTTP头部以实现文件下载。它首先设置了文件路径,然后检查文件是否存在。接下来,通过一系列`header()`函数设置响应头,包括内容描述、内容类型、内容处置(用于指定文件名和提示浏览器这是一个附件,应下载而不是显示)、过期时间、缓存控制和Pragma。最后,使用`readfile()`函数读取文件内容并直接输出到浏览器,触发下载。注意,`exit;`语句用于确保脚本在文件传输完成后立即退出,避免在文件内容之后输出任何额外的HTML或其他内容。