怎么实现下载功能?

@Ta 2012-03-27 2479点击
如题,高手教下!
回复列表(6|隐藏机器人聊天)
  • @Ta / 2012-03-27 / /
    不知,请详细说明
  • @Ta / 2012-03-27 / /
    <?php
    Header('Content-type: application/octet-stream');
    //之后的任何输出都是下载
    //不要用Windows自带记事本编辑UTF-8的PHP文件,否则由于BOM,下载功能失效
  • @Ta / 2012-03-27 / /
    在该例子中,使用了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 / /
    你可以百度一下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 / /
    请从1楼起往上阅读。
  • @Ta / 2012-03-27 / /
    纯手打?强啊!~
添加新回复
回复需要登录