欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php文件下载实例代码

程序员文章站 2022-05-06 09:15:38
...

使用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。