// $file = "/folder/filename.ext";
function force_download($file) {
??? // 截取文件扩展名
??? $ext = explode(".", $file);
??? switch($ext[sizeof($ext)-1]) {
??????? 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 "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";
??? }
??? header('Content-Description: File Transfer');
??? header('Content-Type: '.$mime);
??? header('Content-Disposition: attachment; filename='.basename($file));
??? header('Content-Transfer-Encoding: binary');
??? header('Expires: 0');
??? header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
??? header('Pragma: public');
??? header('Content-Length: '.filesize($file));
??? ob_clean();
??? flush();
??? readfile($file);
}?
jquery 基础视频教程
jQuery 很容易学习,希望通过我们的《jquery 基础视频教程》可以帮助大家来更好的学习jQuery。 jQuery 是一个 JavaScript 库,简化了 JavaScript 编程。
jQuery教程45779次播放
javascript三级联动视频教程
《javascript三级联动视频教程》介绍了javascript开发的三级联动功能,该功能在日常使用中还是经常能用的到的一个。
JavaScript教程26847次播放
独孤九贱(3)_JavaScript视频教程
javascript是运行在浏览器上的脚本语言,连续多年,被评为全球最受欢迎的编程语言。是前端开发必备三大法器中,最具杀伤力。如果前端开发是降龙十八掌,好么javascript就是第18掌:亢龙有悔。没有它,你的前端生涯是不完整的。《php.cn独孤九贱(3)-JavaScript视频教程》课程特色:php中文网原创幽默段子系列课程,以恶搞,段子为主题风格的php视频教程!轻松的教学风格,简短的教学模式,让同学们在不知不觉中,学会了javascript知识。
JavaScript教程113600次播放
独孤九贱(6)_jQuery视频教程
jQuery是一个快速、简洁的JavaScript框架。设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等,是全球最流行的前端开发框架之一。PHP中文网根据最新版本,独家录制jQuery最新视频教程,回馈PHP中文网的新老用户。
jQuery教程93314次播放