这是我的下载功能的代码片段。它确实下载了文件,但有时我尝试打开下载的文件,我收到一个错误。它似乎文件已损坏..有人可以告诉我这些代码有什么问题吗?
function download($fid){
$query= $this->db->get_where('files',array('fid' => $fid));
$row = $query->result();
header("Content-Type: ". $row[0]->type);
header("Content-Length: ". $row[0]->size);
header("Content-Disposition: attachment; filename=". $row[0]->name);
// Print data
echo $row[0]->content;
//Free the mysql resources
mysql_free_result($result);
//redirect('index.php/files/search/'.$fid);
}
答案 0 :(得分:1)
检查$row[0]->type, $row->[0]->size, $row[0]->name
(注释掉所有的header()调用,然后转储$row
),如果$query->result()
返回了有效的结果,你也不测试,还要检查是否有任何php警告或通知,在你致电header("Content-Type
之前检查是否有任何标题已经发送到浏览器......
答案 1 :(得分:0)
如果您确定您的请求只有1行,请尝试使用:
$query->row();
取代
$query->result();