首页  >  文章  >  后端开发  >  php文件下载实例代码

php文件下载实例代码

WBOY
WBOY原创
2016-07-25 09:11:57968浏览

使用php实现文件强制下载,多会用到header函数。 例子,php文件下载实例。

  1. class Downfile {
  2. function downserver($file_name){
  3. $file_path = "./img/".$file_name;
  4. //转码,文件名转为gb2312解决中文乱码
  5. $file_name = iconv("utf-8","gb2312",$file_name);
  6. $file_path = iconv("utf-8","gb2312",$file_path);
  7. $fp = fopen($file_path,"r") or exit("文件不存在");
  8. //定义变量空着每次下载的大小
  9. $buffer = 1024;
  10. //得到文件的大小
  11. $file_size = filesize($file_path);
  12. //header("Content-type:text/html;charset=gb2312");
  13. //会写用到的四条http协议信息
  14. header("Content-type:application/octet-stream");
  15. header("Accept-Ranges:bytes");//可以忽略
  16. header("Content-Length: ".$file_size);//原文这里是Accept-Length经查阅http协议无此项
  17. header("Content-Disposition:attachment;filename=".$file_name);
  18. //字节技术器,纪录当前现在字节数
  19. $count = 0;
  20. while(!feof($fp) && $file_size-$count>0){
  21. //从$fp打开的文件流中每次读取$buffer大小的数据
  22. $file_data = fread($fp,$buffer);
  23. $count+=$buffer;
  24. //将读取到的数据读取出来
  25. echo $file_data;
  26. }
  27. //关闭文件流
  28. fclose($fp);
  29. }
  30. }
  31. ?>
复制代码

调用此函数传入文件名即可实现文件下载,以上代码注意修改$file_path。



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn