Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-08-2010 12:49:24

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

[Résolu][ZF 1.10] Ligne vide ajoutée lors d'un dl de Fichier.

Bonjour,

j'ai mis à jour ma library Zend de 1.7 à 1.10 récemment.
Et j'ai maintenant des problèmes lors de téléchargement de fichiers.

En effet ceux ci sont corrompus...Lors que je les ouvre avec Notepad ++, on voit une ligne vide qui s'est insérée au début du fichier, si je la supprime le fichier redevient lisible...
Cela pose pb avec les image surtout (jpeg...), car pour les pdf la ligne vide est aussi ajoutée mais le fichier s'ouvre bien quand même.
Je n'ai jms rencontré ce pb avt, j'ai cherché sur le forum et ailleurs je n'ai pas trouvé de réponse.

Voila le code de mon action et de ma vue...

ACTION   

Code:

function downloadAction()
    {
        $id=$this->checkId();
        $this->_helper->layout->disableLayout();
        $documents = Table_Document::getInstance();
        $row=$documents->findRowSimple($id);
        $filePath=$row->document_path;
        $fullPath=$_SERVER['DOCUMENT_ROOT']."/".$filePath;

        if (file_exists($fullPath)) {
            $file = file_get_contents($fullPath);
            $this->view->row = $row;
            $this->view->file = $file;
        }else{
            $this->redirectFileNotFound();
        }
    }

View 

Code:

<?php if(isset($this->row)){
    header('Content-type: '.$this->row['document_type']);
    header('Content-Disposition: attachment; filename="'.$this->row['document_name'].'"');
    echo $this->file;
}else{
    echo "Error : File not found on the server";
}
?>

Dernière modification par enjoy (26-08-2010 11:59:33)

Hors ligne

 

#2 25-08-2010 05:11:34

omega2
Membre
Lieu: Boisbriand, quebec, canada
Date d'inscription: 01-04-2009
Messages: 85
Site web

Re: [Résolu][ZF 1.10] Ligne vide ajoutée lors d'un dl de Fichier.

Salut,

Est ce que tu n'aurais pas un retour à la ligne parasite dans un de tes fichiers?
Vu que le système de zend utilises un buffeur pour stocker la vue dans un tableau, un tel retour à la ligne ne provoquerait pas de message d'erreur du aux header.

Si tes fichiers n'ont pas du tout changé entre la 1.7 et la 1.10 du framework alors c'est que le problème vient du framework lui même. Si c'est le cas et que le problème disparait quand tu remets la 1.7 alors il faudra ouvrir un bug sur le sujet (s'il n'en existe pas déjà)

Hors ligne

 

#3 26-08-2010 11:44:25

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

Re: [Résolu][ZF 1.10] Ligne vide ajoutée lors d'un dl de Fichier.

Bonjour, merci pour votre réponse.

Quand vous me dites retour à la ligne parasite dans un fichier vous pensez aux fichiers de la vue et au controller?
Je ne pense vraiment pas que j'en ai un.

En fait si je ne met pas le header dans la vue et que je fais juste echo le fichier à télécharger, je vois bien le même texte que qd j'ouvre avec notepad++ et SANS le saut de ligne.

C'est pour cela que ca me semble bizarre que cela soit lié à la version de Zend en fait.
Pour télécharger un fichier, on utilise pas de composant Zend_**

Mais à part ca bcp de mes fichiers ont changé au niveau configuraion dans Zend car avt je n'avais pas de Bootstrap, j'avais tout dans le index.php et je n'avais pas non plus de VirtualHost dans Apache http.conf...

Hors ligne

 

#4 26-08-2010 12:00:56

enjoy
Membre
Date d'inscription: 25-02-2009
Messages: 15

Re: [Résolu][ZF 1.10] Ligne vide ajoutée lors d'un dl de Fichier.

Après nouvelle vérification, le pb venait d'un saut de ligne dans mon index.php du dossier public...

Merci encore pour l'aide...

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages