2011-03-14 4 views
0

Voici un extrait de code de ma fonction de téléchargement. il télécharge le fichier mais il y a des moments où j'essaie d'ouvrir le fichier téléchargé, j'obtiens une erreur. il semblait que le fichier est corrompu .. quelqu'un peut-il me dire ce qui ne va pas avec les codes?Télécharger le fichier de la base de données codeigniter

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

Répondre

1

Vérifiez $row[0]->type, $row->[0]->size, $row[0]->name (en commentaire tous les appels en-tête() et vidage $row), vous allso pas tester si $query->result() retourné un résultat valide, vérifiez allso s'il y a des avertissements php ou des avis, consultez allso s'il y a des têtes allready envoyés au navigateur avant d'appeler header("Content-Type ...

0

Si vous êtes sûr que votre demande obtient 1 et seulement 1 rang, essayez d'utiliser:

$query->row(); 

en plac e de

$query->result(); 
Questions connexes