免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2379 | 回复: 5
打印 上一主题 下一主题

请问高手,关于php在服务器端读取文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-30 15:03 |只看该作者 |倒序浏览
请问高手,php在服务器端读取文件,提示客户端打开或保存文件,如果客户端选保存一切正常,但是选打开,却无法打开,提示:
无法打开:C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\CXIJWLIV\test[1].rar

是什么原因噢。代码如下

$fp=fopen($filepath,"rb");
$fileContent=fread($fp,filesize($filepath));
fclose($fp);
header("Content-type:application/octet-stream");
header("Content-Length",filesize($file));
header("Content-Disposition:inline; filename=test.rar]);
echo($fileContent);

论坛徽章:
0
2 [报告]
发表于 2006-09-30 16:47 |只看该作者
似乎是浏览器的问题。清空 cache 试一下。

论坛徽章:
0
3 [报告]
发表于 2006-10-03 00:56 |只看该作者
请楼主注意文件名的问题,我觉得有可能是因为路径中带有空格,而且这个路径反斜杠也比较多,有可能出现转义字符相关问题

论坛徽章:
0
4 [报告]
发表于 2006-10-05 17:15 |只看该作者
用nusoap构建尝试下...

论坛徽章:
0
5 [报告]
发表于 2006-10-07 22:50 |只看该作者
可能是文件格式不对。

比如,楼主输出的文件名为xxx.rar,但他不是rar文件,Windows调用winrar打开,当然打不开了。

论坛徽章:
0
6 [报告]
发表于 2006-10-08 09:48 |只看该作者
我发觉问题是浏览器没有将文件写到那个临时的目录C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\CXIJWLIV\test[1].rar下。
如果把header("Content-Disposition:inline; filename=test.rar);改成header("Content-Disposition:inline; filename=test.csv);则浏览器将文件保存到临时目录了,并且可以打开,当然打开的是乱码。估计这和浏览器有点关系。好象浏览器不支持rar,txt,pdf这几种保存类型。我把浏览器安全级都设到最低,还是不能解决。希望有过类似经验的高手帮忙。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP