已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: 怎么实现下载功能?

作者: @Ta

时间: 2012-03-27

点击: 2473

如题,高手教下!

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1. 不知,请详细说明
(/@Ta/2012-03-27 22:17//)

2. <?php
Header('Content-type: application/octet-stream');
//之后的任何输出都是下载
//不要用Windows自带记事本编辑UTF-8的PHP文件,否则由于BOM,下载功能失效
(/@Ta/2012-03-27 22:52//)

3. 在该例子中,使用了Header()输出HTTP头信息Content-type(内容的MIME类型)。
决定浏览器直接显示或提示下载的并非网页的文件后缀,而是MIME类型(如text/html这样的)。
如果把zip的Content-type设为text/plain,浏览器就会认为它是txt而直接显示,虽然网址的文件后缀是.zip。
所以你只要发下载类型的Content-type,PHP输出的内容也可以被下载。
同样的,PHP输出的内容也可以当做图片显示,只要发image/jpeg,如验证码就如此。
(/@Ta/2012-03-27 22:57//)

4. 你可以百度一下MIME类型大全,给文件合适的MIME类型,如zip是application/zip。如果找不到合适的,通用的下载类型是application/octet-stream
另外,你可以利用以下这个特性使php输出的文件有合适的文件名:
/wap/read.php/abcd.mp3?id=bbs
目标另存它就是abcd.mp3(中文要Urlencode())。大部分电脑浏览器和UC还支持一种HTTP头比设置下载的文件名,由于Q浏冒浏不支持,我忘了,你可以百度一下。
(/@Ta/2012-03-27 23:02//)

5. 请从1楼起往上阅读。
(/@Ta/2012-03-27 23:05//)

6. 纯手打?强啊!~
(/@Ta/2012-03-27 23:42//)

回复需要登录

8月21日 12:15 星期四

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1