2009/04/02 22:33
文章作者:Enjoy 转载请注明原文链接。
有个项目下载的东西要求路径要保密,于是用php读取该文件然后输出的方法。发布后,有人反应快下完时,系统会提示:引用
无法复制 文件:无法读源文件或磁盘
化了不少时间查问题,开始以为是IE设置问题,但反应的人多了,也就不能认为是IE问题了。再说用查出来的方法,也解决不了这个问题。
后发现IE7完全正常,就IE6的某些客户端会这样提示。甚至还怀疑会不会是同时有人下载,有一方就会不行的问题。
最后,发现这篇文章 下载文件时出错:复制文件或文件夹时出错;无法复制 文件:无法读源文件或磁盘,虽然是asp的,但看出是加了;charset=gbk这句。我的页面刚好也是GBK编码的,于是加了下,让用户测试,问题解决!
附php读取文件然后输出下载的代码:
/*
$downurl是本地路径
$file_name是下载文件的名称
*/
if (!file_exists($downurl)) {//检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($downurl,"r"); // 打开文件
$filesize = filesize($downurl);
// 输入文件标签
Header("Content-type: application/octet-stream;charset=gbk");
Header("Accept-Ranges: bytes");
Header("Accept-Length: $filesize");
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,$filesize);
fclose($file);
exit;
}
$downurl是本地路径
$file_name是下载文件的名称
*/
if (!file_exists($downurl)) {//检查文件是否存在
echo "文件找不到";
exit;
} else {
$file = fopen($downurl,"r"); // 打开文件
$filesize = filesize($downurl);
// 输入文件标签
Header("Content-type: application/octet-stream;charset=gbk");
Header("Accept-Ranges: bytes");
Header("Accept-Length: $filesize");
Header("Content-Disposition: attachment; filename=" . $file_name);
// 输出文件内容
echo fread($file,$filesize);
fclose($file);
exit;
}
marr
2009/09/19 23:16
我试了,还是解决不了,希望和你交流。
分页: 1/1
1
1

服务器无法解析域名的解决方法
Google Pagerank 2009年首次更新

