скачать файл из базы данных codeigniter - PullRequest
0 голосов
/ 14 марта 2011

Вот фрагмент кода моей функции загрузки. он действительно загружает файл, однако бывают случаи, когда я пытаюсь открыть загруженный файл, я получаю сообщение об ошибке. казалось, файл поврежден .. может кто-нибудь сказать мне, что не так с кодами?

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);
}

Ответы [ 2 ]

1 голос
/ 14 марта 2011

Проверьте $row[0]->type, $row->[0]->size, $row[0]->name (закомментируйте все вызовы header () и дамп $row), вы также не проверяете, вернул ли $query->result() верный результат, также проверяют, есть ли какие-либо предупреждения или уведомления php,Кроме того, проверьте, есть ли какие-либо заголовки, уже отправленные в браузер, прежде чем звонить header("Content-Type ...

0 голосов
/ 14 марта 2011

Если вы уверены, что ваш запрос получает 1 и только 1 строку, попробуйте использовать:

$query->row();

вместо

$query->result();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...