首頁 >後端開發 >php教程 >PHP强制下载的有关问题

PHP强制下载的有关问题

WBOY
WBOY原創
2016-06-13 10:27:49873瀏覽

PHP强制下载的问题
$file_dir = 'd:/file/';
$file_name = 'XXX.zip';
$file=fopen($file_dir.$file_name,"r"); 
header("Content-Type: application/force-download");
header("Accept-Ranges: bytes");
header("Accept-Length: ".filesize($file_dir.$file_name));
header("Content-Disposition: attachment; filename=".$file_name);
// 输出文件内容
echo fread($file,filesize($file_dir.$file_name));
fclose($file);
exit;

为什么我这样写了之后运行他没有直接强制下载这个文件,反而读取了这个文件??

------解决方案--------------------
你最好不要用fread($file,filesize($file_dir.$file_name));
你把
echo fread($file,filesize($file_dir.$file_name));
fclose($file);
换成
readfile($file_dir.$file_name);
试试
最好再添加以下两句
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
这样应该可以解决你的问题

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn