在PHP中,您可以使用file_get_contents()
函数或fopen()
、fread()
和fclose()
函数组合来实现文件下载功能
方法1:使用file_get_contents()
函数
<?php
// 设置文件路径
$file_path = 'path/to/your/file.txt';
// 检查文件是否存在
if (file_exists($file_path)) {
// 设置HTTP头信息,告诉浏览器这是一个文件下载请求
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
// 读取文件并发送给浏览器
readfile($file_path);
// 终止脚本
exit;
} else {
echo '文件不存在';
}
?>
方法2:使用fopen()
、fread()
和fclose()
函数组合
<?php
// 设置文件路径
$file_path = 'path/to/your/file.txt';
// 检查文件是否存在
if (file_exists($file_path)) {
// 设置HTTP头信息,告诉浏览器这是一个文件下载请求
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="'.basename($file_path).'"');
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize($file_path));
// 打开文件
$handle = fopen($file_path, 'rb');
// 读取文件内容并发送给浏览器
while (!feof($handle)) {
echo fread($handle, 8192);
}
// 关闭文件
fclose($handle);
// 终止脚本
exit;
} else {
echo '文件不存在';
}
?>
以上两种方法都可以实现文件下载功能。第一种方法使用file_get_contents()
函数简化了代码,而第二种方法则展示了如何使用fopen()
、fread()
和fclose()
函数手动读取文件内容。您可以根据自己的需求和喜好选择合适的方法。