header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=\"". $file ."\";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
file_get_contents($file);
readfile($file);
exit();
任何想法我做错了什么?不应该将我的服务器上的任何文件下载到用户的硬盘上吗?不知何故每个文件都被损坏了!此外,我不知道如何改变下载文件的文件名?php:强制下载到hd?
$file
始终包含我的文件的完整路径。 如果我尝试header('Location:' . $file);
浏览器成功打开我的文件。但是,如果该文件是.jpg,则浏览器不会提示下载窗口。相反,它只是在浏览器窗口中打开文件。我希望每个文件都能下载到hd。
请帮帮我吧。我在此之后已经过了一个多星期了,我找不到解决方案?
如果$文件中包含的路径,并不仅名字,你应该使用'文件名= \ “”。 basename($ file)。“\”;“'和什么是'file_get_contents($文件);'行应该这样做? – VolkerK 2010-07-23 00:54:34