Maison  >  Article  >  développement back-end  >  PHP强制下载的有关问题

PHP强制下载的有关问题

WBOY
WBOYoriginal
2016-06-13 10:27:49858parcourir

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");
这样应该可以解决你的问题

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn