php实现简单文件下载的方法

这篇文章主要介绍了php实现简单文件下载的方法,以实例形式简单分析了文件下载的原理与实现技巧,非常简单实用,需要的朋友可以参考下

本文实例讲述了php实现简单文件下载的方法,分享给大家供大家参考,具体如下:

这里介绍的php文件下载代码,只是简单实现了一张图片的下载功能,还不完善,最好是封装到一个类里,或是采用函数调用,感兴趣的朋友可以在此基础上加以完善!

php文件下载代码如下:

  1. <?php
  2. $file_name = "2.jpg";//需要下载的图片
  3. define("SPATH","/php/image/");//存放图片的相对路径
  4. $file_sub_path = $_SERVER['DOCUMENT_ROOT'];//网站根目录的绝对地址
  5. $file_path = $file_sub_path.SPATH.$file_name;//图片绝对地址,即前面三个连接
  6. //判断文件是否存在
  7. if(!file_exists($file_path)){
  8. echo "该文件不存在";
  9. return;
  10. }
  11. $fp = fopen($file_path,"r");//打开文件
  12. $file_size = filesize($file_path);//获取文件大小
  13. /*
  14. *下载文件需要用到的header
  15. */
  16. header("Content-type:application/octet-stream");
  17. header("Accept-Ranges:bytes");
  18. header("Accept-Length:".$file_size);
  19. header("Content-Disposition:attachment;filename=".$file_name);
  20. $buffer=1024;
  21. $file_count=0;
  22. //向浏览器返回数据
  23. while(!feof($fp) && $file_count<$file_size){
  24. $file_con = fread($fp,$buffer);
  25. $file_count += $buffer;
  26. echo $file_con;//这里如果不echo,只会下载到0字节的文件
  27. }
  28. fclose($fp);
  29. ?>