加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP安全下载文件的方法介绍

发布时间:2022-06-23 14:07:00 所属栏目:PHP教程 来源:互联网
导读:本文实例讲述了PHP安全下载文件的方法。分享给大家供大家参考,具体如下: ?php header(Content-Type:text/html;Charset=utf-8); define(ROOT_PATH, dirname(__FILE__)); /** * 下载文件 * @param string $file_path 绝对路径 */ function downFile($file_
  本文实例讲述了PHP安全下载文件的方法。分享给大家供大家参考,具体如下:
 
  <?php
  
  header('Content-Type:text/html;Charset=utf-8');
  
  define('ROOT_PATH', dirname(__FILE__));
  
  /**
  
   * 下载文件
  
   * @param string $file_path 绝对路径
  
   */
  
  function downFile($file_path) {
  
    //判断文件是否存在
  
    $file_path = iconv('utf-8', 'gb2312', $file_path); //对可能出现的中文名称进行转码
  
    if (!file_exists($file_path)) {
  
      exit('文件不存在!');
  
    }
  
    $file_name = basename($file_path); //获取文件名称
  
    $file_size = filesize($file_path); //获取文件大小
  
    $fp = fopen($file_path, 'r'); //以只读的方式打开文件
  
    header("Content-type: application/octet-stream");
  
    header("Accept-Ranges: bytes");
  
    header("Accept-Length: {$file_size}");
  
    header("Content-Disposition: attachment;filename={$file_name}");
  
    $buffer = 1024;
  
    $file_count = 0;
  
    //判断文件是否结束
  
    while (!feof($fp) && ($file_size-$file_count>0)) {
  
      $file_data = fread($fp, $buffer);
  
      $file_count += $buffer;
  
      echo $file_data;
  //phpfensi.com
    }
  
    fclose($fp); //关闭文件
  
  }
  
  downFile(ROOT_PATH . '/down/Sunset.jpg');
  
  ?> 。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读