A-A+

PHP安全下载文件的方法

2019年10月16日 我爱编程 暂无评论

本文实例讲述了PHP安全下载文件的方法。分享给大家供大家参考,具体如下:

  1. <?php
  2. header('Content-Type:text/html;Charset=utf-8');
  3. define('ROOT_PATH', dirname(__FILE__));
  4. /**
  5.  * 下载文件
  6.  * @param string $file_path 绝对路径
  7.  */
  8. function downFile($file_path) {
  9.   //判断文件是否存在
  10.   $file_path = iconv('utf-8''gb2312'$file_path); //对可能出现的中文名称进行转码
  11.   if (!file_exists($file_path)) {
  12.     exit('文件不存在!');
  13.   }
  14.   $file_name = basename($file_path); //获取文件名称
  15.   $file_size = filesize($file_path); //获取文件大小
  16.   $fp = fopen($file_path'r'); //以只读的方式打开文件
  17.   header("Content-type: application/octet-stream");
  18.   header("Accept-Ranges: bytes");
  19.   header("Accept-Length: {$file_size}");
  20.   header("Content-Disposition: attachment;filename={$file_name}");
  21.   $buffer = 1024;
  22.   $file_count = 0;
  23.   //判断文件是否结束
  24.   while (!feof($fp) && ($file_size-$file_count>0)) {
  25.     $file_data = fread($fp$buffer);
  26.     $file_count += $buffer;
  27.     echo $file_data;
  28.   }
  29.   fclose($fp); //关闭文件
  30. }
  31. downFile(ROOT_PATH . '/down/Sunset.jpg');
  32. ?>

给我留言

Copyright © 四季博客 保留所有权利.   Theme  Ality

用户登录