展开全部
<?php
$file = 'path/file.html'; // 要下载的文件
ob_clean();
header('Pragma: public');
header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control:no-store, no-cache, must-revalidate');
header('Cache-Control:pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding:binary');
header('Content-Encoding:none');
header('Content-type:multipart/form-data');
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名
header('Content-length:'. filesize($file));
$fp = fopen($file, 'r'); //读取数据,开始下载
while(connection_status() == 0 && $buf = @fread($fp, 8192)){
echo $buf;
}
fclose($fp);
@flush();
@ob_flush();
exit();
?>
$file = 'path/file.html'; // 要下载的文件
ob_clean();
header('Pragma: public');
header('Last-Modified:'.gmdate('D, d M Y H:i:s') . 'GMT');
header('Cache-Control:no-store, no-cache, must-revalidate');
header('Cache-Control:pre-check=0, post-check=0, max-age=0');
header('Content-Transfer-Encoding:binary');
header('Content-Encoding:none');
header('Content-type:multipart/form-data');
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名
header('Content-length:'. filesize($file));
$fp = fopen($file, 'r'); //读取数据,开始下载
while(connection_status() == 0 && $buf = @fread($fp, 8192)){
echo $buf;
}
fclose($fp);
@flush();
@ob_flush();
exit();
?>
追问
header('Content-Disposition:attachment; filename="'.basename($file).'"'); //设置下载的默认文件名---这个默认的文件名写在哪儿?换掉basename吗?
追答
basename 可以去了或换成其它的。
basename 这个函数是取得文件名(不要路径的), 不然这个 $file 你可能包含路径, 显示的文件名会带有路径。
你也可以写死它 如
header('Content-Disposition:attachment; filename="abc.html"');
那么他下载的时候的默认文件名就是 abc.html 了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询