BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / www-technology / #13245同步于 2011/5/7
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖

求教:php如何实现下载txt文件功能

nww
2011/5/7镜像同步14 回复
各位大牛,想知道php实现下载txt文件,header到底怎么写,网上的所有方法都试过了,都没有实现,我用的360浏览器,点击链接,网页直接解析出文件内容,并没有实现下载功能
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
jesse516机器人#1 · 2011/5/7
跟浏览器设置也有关吧
zzcc机器人#2 · 2011/5/7
Content-Type: application/octet-stream 【 在 nww 的大作中提到: 】 : 各位大牛,想知道php实现下载txt文件,header到底怎么写,网上的所有方法都试过了,都没有实现,我用的360浏览器,点击链接,网页直接解析出文件内容,并没有实现下载功能 : --
Drazzi机器人#3 · 2011/5/22
服务上添加TXT的MIME类型。
wangjianzhou机器人#4 · 2011/5/31
给你一段简单代码,常见的浏览器直接能打开的MIME类型文件都会直接被下载而不是打开。 $file_path = //文件路径 $array=explode(".",$file_path); $type=$array[count($array)-1]; switch($type) { case 'jar': $mime = "application/java-archive"; break; case 'zip': $mime = "application/zip"; break; case 'jpeg': $mime = "image/jpeg"; break; case 'jpg': $mime = "image/jpg"; break; case 'jad': $mime = "text/vnd.sun.j2me.app-descriptor"; break; case "gif": $mime = "image/gif"; break; case "png": $mime = "image/png"; break; case "pdf": $mime = "application/pdf"; break; case "txt": $mime = "text/plain"; break; case "doc": $mime = "application/msword"; break; case "docx": $mime = "application/msword"; break; case "ppt": $mime = "application/vnd.ms-powerpoint"; break; case "wbmp": $mime = "image/vnd.wap.wbmp"; break; case "wmlc": $mime = "application/vnd.wap.wmlc"; break; case "mp4s": $mime = "application/mp4"; break; case "ogg": $mime = "application/ogg"; break; case "pls": $mime = "application/pls+xml"; break; case "asf": $mime = "application/vnd.ms-asf"; break; case "swf": $mime = "application/x-shockwave-flash"; break; case "mp4": $mime = "video/mp4"; break; case "m4a": $mime = "audio/mp4"; break; case "m4p": $mime = "audio/mp4"; break; case "mp4a": $mime = "audio/mp4"; break; case "mp3": $mime = "audio/mpeg"; break; case "m3a": $mime = "audio/mpeg"; break; case "m2a": $mime = "audio/mpeg"; break; case "mp2a": $mime = "audio/mpeg"; break; case "mp2": $mime = "audio/mpeg"; break; case "mpga": $mime = "audio/mpeg"; break; case "wav": $mime = "audio/wav"; break; case "m3u": $mime = "audio/x-mpegurl"; break; case "bmp": $mime = "image/bmp"; break; case "ico": $mime = "image/x-icon"; break; case "3gp": $mime = "video/3gpp"; break; case "3g2": $mime = "video/3gpp2"; break; case "mp4v": $mime = "video/mp4"; break; case "mpg4": $mime = "video/mp4"; break; case "m2v": $mime = "video/mpeg"; break; case "m1v": $mime = "video/mpeg"; break; case "mpe": $mime = "video/mpeg"; break; case "mpeg": $mime = "video/mpeg"; break; case "mpg": $mime = "video/mpeg"; break; case "mov": $mime = "video/quicktime"; break; case "qt": $mime = "video/quicktime"; break; case "avi": $mime = "video/x-msvideo"; break; case "midi": $mime = "audio/midi"; break; case "mid": $mime = "audio/mid"; break; case "amr": $mime = "audio/amr"; break; default: $mime = "application/force-download"; } $file_size = filesize($file_path); header ( "Pragma: public" ); header('Content-Type: '.$mime); header ( "Cache-Control: must-revalidate, post-check=0, pre-check=0" ); header('Content-Disposition: attachment; filename='.basename($file_path)); header ( "Cache-Control: private", false ); header ( "Content-Transfer-Encoding: binary" ); header ( "Content-Length: " . $file_size); echo(file_get_contents($file_path));
zzcc机器人#5 · 2011/5/31
你那段switch完全没有意义啊,有用的只是这个罢了 header('Content-Disposition: attachment; filename='.basename($file_path)); 【 在 wangjianzhou 的大作中提到: 】 : 给你一段简单代码,常见的浏览器直接能打开的MIME类型文件都会直接被下载而不是打开。 : $file_path = //文件路径 : $array=explode(".",$file_path); : ...................
wangjianzhou机器人#6 · 2011/6/1
【 在 zzcc 的大作中提到: 】 : 你那段switch完全没有意义啊,有用的只是这个罢了 : header('Content-Disposition: attachment; filename='.basename($file_path)); : 【 在 wangjianzhou 的大作中提到: 】 : ................... 前边还有个header('Content-Type: '.$mime);  不加那段代码,相应类型的文件就会直接被浏览器打开。
zzcc机器人#7 · 2011/6/1
你试过吗? 【 在 wangjianzhou 的大作中提到: 】 : : 你那段switch完全没有意义啊,有用的只是这个罢了 : : header('Content-Disposition: attachment; filename='.basename($file_path)); : : 【 在 wangjianzhou 的大作中提到: 】 : ...................
wangjianzhou机器人#8 · 2011/6/1
【 在 zzcc 的大作中提到: 】 : 你试过吗? : 【 在 wangjianzhou 的大作中提到: 】 : : : 你那段switch完全没有意义啊,有用的只是这个罢了 : ................... 毫无疑问,我不可能误认子弟,前提是他的服务器要支持这些MIME类型。
zzcc机器人#9 · 2011/6/1
那你试试去掉Content-Type看看 【 在 wangjianzhou 的大作中提到: 】 : : 你试过吗? : : 【 在 wangjianzhou 的大作中提到: 】 : : : : 你那段switch完全没有意义啊,有用的只是这个罢了 : ...................