Heim > Backend-Entwicklung > PHP-Tutorial > php文件下载实例代码

php文件下载实例代码

WBOY
Freigeben: 2016-07-25 09:11:57
Original
1012 Leute haben es durchsucht

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



Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage