php文件下载实例代码

WBOY
Lepaskan: 2016-07-25 09:11:57
asal
941 orang telah melayarinya

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



Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!