|
哪位能晓得问题出在哪了- - 下载文件无后缀,大小提示未知,
下载文件方法如下:
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);
}
|
|