A-A+

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

2009年05月12日 PHP 暂无评论 阅读 1 次

想提供下载但又不想放出指定文件的路径。通常通过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:fileszhoz_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. ?> 

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录