分享、学习、提高
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;
          }
marr Email
2009/09/19 23:16
我试了,还是解决不了,希望和你交流。
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]