php中使用head进行二进制流输出,让用户下载PDF等附件的方法
2014-12-08 16:54
543 查看
function downloadFile( $fullPath ){ // Must be fresh start if( headers_sent() ) die('Headers Sent'); // Required for some browsers if(ini_get('zlib.output_compression')) ini_set('zlib.output_compression', 'Off'); // File Exists? if( file_exists($fullPath) ){ // Parse Info / Get Extension $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); // Determine Content Type switch ($ext) { case "pdf": $ctype="application/pdf"; break; case "exe": $ctype="application/octet-stream"; break; case "zip": $ctype="application/zip"; break; case "doc": $ctype="application/msword"; break; case "xls": $ctype="application/vnd.ms-excel"; break; case "ppt": $ctype="application/vnd.ms-powerpoint"; break; case "gif": $ctype="image/gif"; break; case "png": $ctype="image/png"; break; case "jpeg": case "jpg": $ctype="image/jpg"; break; default: $ctype="application/force-download"; } header("Pragma: public"); // required header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); // required for certain browsers header("Content-Type: $ctype"); header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".$fsize); ob_clean(); flush(); readfile( $fullPath ); } else die('File Not Found'); }
相关文章推荐
- php中使用head进行二进制流输出,让用户下载PDF等附件的方法
- php中使用head进行二进制流输出,让用户下载PDF等附件的方法
- ios 使用NSURlSession 下载文件并且使用进度条进行文件下载进度读取以及打开附件(word,excel,ppt,pdf)显示
- php中ob(Output Buffer 输出缓冲)函数使用方法
- php park、unpark、ord 函数使用方法(二进制流接口应用实例)
- 使用php实现下载生成某链接快捷方式的解决方法
- PHP IE中下载附件问题解决方法
- 水晶报表使用经验谈1--建立水晶报表第一步及编译最易出现错误的解决方法及报表转换成pdf文档进行打印方法
- php pack、unpack、ord 函数使用方法(二进制流接口应用实例)
- Ubuntu 13.04设置root用户登录图形界面与在Ubuntu 12.10中使用root进行登录方法
- 使用PHP输出CSV和EXCEL文件的简单方法
- 使用PHP强制下载PDF文件(代码家园)
- 使用PHP强制下载PDF文件
- PHP使用DES进行加密与解密的方法详解
- php中对HTML字符进行源码输出的方法
- PHP―使用MYSQL来 进入用户管理中心进行更多的操作
- 使用jquery的autocomplete的方法,进行用户自定义的显示列表方法给用户
- php用户注册页面使用js进行表单验证具体实例
- PHP使用DES进行加密与解密的方法详解
- 使用PHP进行用户身份认证