Oui
Et cette information est indépendante du vrai nom d'un fichier que tu
voudrais renvoyer avec un readfile(). C'est juste une information car tu ne
devrais pas utiliser de readfile() ici. Que se passerait-il si plusieurs
personnes demandait un export en même temps... 

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] De la
part de Jérémy LEHERPEUR
Envoyé : jeudi 2 décembre 2010 17:30
À : [email protected]
Objet : Re: [symfony-fr] export csv collection -> array

C'est plutot

 $this->getResponse()->setHttpHeader('Content-Disposition',
sprintf('%s;filename="%s"', 'attachment', $filename));


Tu met ton nom dans $filename


Le 2 décembre 2010 17:25, manuel brossard <[email protected]> a écrit :


        Juste lélio .. je perd l' extension du fichier c ' est à modifier
dans


        
$this->getResponse()->setHttpHeader('Content-Type','application/octet-stream
');
        
        
        Non ? 
        
        
        
        
        
        Le 2 décembre 2010 16:32, Lélio ML <[email protected]> a écrit :


                À la fin de ta action, tu forces les header.
                Allez, je suis sympa. Voici ceux que j'utilise quand je veux
forcer le
                téléchargement ;)
                
                  $this->getResponse()->clearHttpHeaders();
                   $this->getResponse()->setHttpHeader('Pragma', 'public',
true);
                   $this->getResponse()->setHttpHeader('Cache-Control',
'no-store,
                no-cache, must-revalidate');
                   $this->getResponse()->setHttpHeader('Expires', '0');
                   $this->getResponse()->setHttpHeader('Content-Type',
                'application/octet-stream');
        
$this->getResponse()->setHttpHeader('Content-Disposition', sprintf('%s;
                filename="%s"', 'attachment', $filename));
        
$this->getResponse()->setHttpHeader('Content-Transfer-Encoding',
                'binary');
                   $this->getResponse()->sendHttpHeaders();
                

                -----Message d'origine-----
                De : [email protected]
[mailto:[email protected]] De la
                
                part de manuel brossard
                Envoyé : jeudi 2 décembre 2010 16:23
                À : [email protected]
                Objet : Re: [symfony-fr] export csv collection -> array
                

                Oui j' y avais pensé mais c' est pas ce qui est démandé, le
client veut un
                vrai export, le fichier est généré et téléchargé par le
browser.
                
                J' ai la fin (mon fichier est vide) mais pas le début car j'
ai un soucis
                avec le type des données récupéré. La  fonction fputcsv
attends un array en
                second paramètre et moi j' ai une collection .
                
                
                
                
                Le 2 décembre 2010 14:52, Lélio ML <[email protected]> a
écrit :
                
                
                       Le mieux est de passer par les templates.
                       Tu fais la même chose de d'habitude sauf que ton
template afiche les
                champs
                       avec ton séparateur.
                       Le template pourra être nommé
exportationEvaluationSuccess.csv.php
                si tu
                       mets dans ta route le paramètre sf_format
                
                       Ainsi il te sera facile par la suite d'exporter en
xls ou xml par
                exemple
                       rien qu'en modifiant le sf_format de la route : une
seule action et
                autant
                       de templates que d'exports possibles
                
                       /evaluation/export.csv =>
exportationEvaluationSuccess.csv.php
                       /evaluation/export.xml =>
exportationEvaluationSuccess.xml.php
                
                       par exemple.
                
                       -----Message d'origine-----
                       De : [email protected]
                [mailto:[email protected]] De la
                       part de mantex
                       Envoyé : jeudi 2 décembre 2010 14:48
                       À : Symfony-fr
                       Objet : [symfony-fr] export csv collection -> array
                
                
                       J' essai de récupérer une collection d'
enregistrements en csv.
                
                       cela fonctionne avec un tableau de tableau rempli
manuellement mais
                poas
                       lorsque j' essai de recupérer la collection
"evaluations"
                
                       Voici ma fonction..
                
                
                       public function executeExportationEvaluation
(sfWebRequest $request)
                
                         {
                
                         $this->id = $request->getParameter('id');
                         $evaluations =
Doctrine_Core::getTable('Evaluation')-
                       >getEvaluationbycustomer(2);
                
                         $fp =
        
fopen('/usr/share/php/symfony/data/web/monprojet/web/uploads/
                       file.csv', 'w');
                
                         foreach ($evaluations as $fields) {
                         fputcsv($fp, $fields);
                          }
                
                          fclose($fp);
                
                          $fichier =
                '/usr/share/php/symfony/data/web/monprojet/web/uploads/
                       file.csv';
                          header('Content-Type:
application/csv;name='.$fichier);
                          header('Content-Disposition:
attachment;filename='.$fichier);
                
                
                          readfile($fichier);
                          return sfView::HEADER_ONLY;
                
                
                         }
                
                       --
                       Vous recevez ce message, car vous êtes abonné au
groupe Google
                       Groupes Symfony-fr.
                       Pour envoyer un message à ce groupe, adressez un
e-mail
                       à [email protected].
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                       [email protected]
<mailto:symfony-fr%[email protected]> 
                
                <mailto:symfony-fr%[email protected]
<mailto:symfony-fr%[email protected]> > .
                
                       Pour plus d'options, consultez la page de ce groupe :
                       http://groups.google.com/group/symfony-fr?hl=fr
                
                
                       --
                       Vous recevez ce message, car vous êtes abonné au
groupe Google
                Groupes Symfony-fr.
                       Pour envoyer un message à ce groupe, adressez un
e-mail à
                [email protected].
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                [email protected]
<mailto:symfony-fr%[email protected]> 
                
                <mailto:symfony-fr%[email protected]
<mailto:symfony-fr%[email protected]> > .
                
                       Pour plus d'options, consultez la page de ce groupe :
                http://groups.google.com/group/symfony-fr?hl=fr
                
                
                
                
                
                
                --
                Cordialement,
                
                Manuel Brossard
                Twitter: twitter.com/infonel
                Skype : mantex2039
                
                Tel: + 33 9 72 17 00 41
                
                
                
                --
                Vous recevez ce message, car vous êtes abonné au groupe
Google Groupes
                Symfony-fr.
                Pour envoyer un message à ce groupe, adressez un e-mail à
                [email protected].
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse
                [email protected]
<mailto:symfony-fr%[email protected]> .
                Pour plus d'options, consultez la page de ce groupe :
                http://groups.google.com/group/symfony-fr?hl=fr
                
                
                --
                Vous recevez ce message, car vous êtes abonné au groupe
Google Groupes Symfony-fr.
                Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse [email protected]
<mailto:symfony-fr%[email protected]> .
                Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
                
                




        -- 
        
        Cordialement,
        
        Manuel Brossard
        Twitter: twitter.com/infonel
        Skype : mantex2039
        
        Tel: + 33 9 72 17 00 41
        


        

        -- 
        Vous recevez ce message, car vous êtes abonné au groupe Google
Groupes Symfony-fr.
        Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected]
<mailto:symfony-fr%[email protected]> .
        Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
        




--
Jérémy LEHERPEUR
[email protected]


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
[email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
[email protected].
Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à [email protected].
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
[email protected].
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à