php下载任意指定(如zip/ucm)文件代码

想提供下载但又不想放出指定文件的路径。通常通过php读取文件生成网络流,再输出到页面即产生下载响应。
主要函数:fread(PHP 3, PHP 4, PHP 5)
fread — 读取文件(可安全用于二进制文件)
说明
string fread ( int handle, int length )
fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完 length 个字节数,或到达 EOF 的时候,或(对于网络流)当一个包可用时就会停止读取文件,视乎先碰到哪种情况。
注: 如果只是想将一个文件的内容读入到一个字符串中,用 file_get_contents(),它的性能比上面的代码好得多。

  1. <?php  
  2. $filename = "c:\\files\\zhoz_com_test.rar";  
  3. // 文件不存在,就退出并输出日志
  4. if (!file_exists($filename)) {  
  5. error_log("Error: file " . $file_path . " not found!", 0);  
  6. exit;  
  7. }  
  8. $filesize=filesize($filename);  
  9. header("Content-Type:text/plain");  
  10. header("Accept-Ranges:bytes");  
  11. header("Accept-Length:".filesize($filename));  
  12. header("Content-Disposition:attachment;filename=".basename($filename));  
  13. @$fp = fopen($filename, ‘rb’);  
  14. @flock($fp, 2);  
  15. $attachment = @fread($fp, $filesize);  
  16. @fclose($fp);  
  17. // 输入文件
  18. echo $attachment;  
  19. ?> 


评论权限被关闭.



赞助商

文章索引模板

好友推荐链接

强力推荐链接

分类目录

   

统计信息

Translator

Chinese (Simplified) flagItalian flagKorean flagChinese (Traditional) flagPortuguese flagEnglish flagGerman flagFrench flagSpanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagPolish flagSwedish flagNorwegian flag          

标签

专利战 世界 中国 为什么 介绍 使用 公司 分析 利用 功能 原谅我红尘颠倒 发现 天涯 如何 实现 工具 应该 慕容雪村 技术 插件 搜索引擎 支持 数据库 文件 方式 时间 服务器 用户 简单 管理 系统 网站 美国 谁的心不曾柔软 进行 部分 问题 AJAX Google LAN Linux MySQL PHP plugin WordPress

热门浏览