shiling 发表于 2014-2-22 14:13:38

下载文件问题,无法获取文件名及下载文件大小未知问题

哪位能晓得问题出在哪了- -下载文件无后缀,大小提示未知,
下载文件方法如下:

    function downfile($id) {
      $id=addslashes($id);
      $row = $this->db->one("SELECT * FROM {pre}download WHERE id = '{$id}'");
      header("Content-type:text/html;charset=utf-8");
      //用以解决中文不能显示出来的问题
      $file_name = iconv("utf-8", "gb2312", $row['title']);
      $file_path = dirname(ROOTPATH) . $row['file_url'];
      
      if (empty($file_path)) {
            echo "没有该文件文件";
            return;
      }
            
      $fp = fopen($file_path, "r");
      $file_size = filesize($file_path);
      //下载文件需要用到的头
      $mime_type = mime_file_type($row['file_url']);
      Header("Content-type: {$mime_type}");
      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_count < $file_size) {
            $file_con = fread($fp, $buffer);
            $file_count+=$buffer;
            echo $file_con;
      }
      fclose($fp);
    }

页: [1]
查看完整版本: 下载文件问题,无法获取文件名及下载文件大小未知问题