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 : symfony-fr@googlegroups.com [mailto:symfony...@googlegroups.com] De la
part de Jérémy LEHERPEUR
Envoyé : jeudi 2 décembre 2010 17:30
À : symfony-fr@googlegroups.com
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 <mbross...@infonel.net> 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 <mailing-l...@lelio.fr> 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 : symfony-fr@googlegroups.com
[mailto:symfony...@googlegroups.com] De la
                
                part de manuel brossard
                Envoyé : jeudi 2 décembre 2010 16:23
                À : symfony-fr@googlegroups.com
                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 <mailing-l...@lelio.fr> 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 : symfony-fr@googlegroups.com
                [mailto:symfony...@googlegroups.com] 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
                       à symfony...@googlegroups.com.
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                       symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> > .
                
                       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 à
                symfony...@googlegroups.com.
                       Pour vous désabonner de ce groupe, envoyez un e-mail
à l'adresse
                symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> 
                
                <mailto:symfony-fr%2bunsubscr...@googlegroups.com
<mailto:symfony-fr%252bunsubscr...@googlegroups.com> > .
                
                       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 à
                symfony...@googlegroups.com.
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse
                symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
                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 à
symfony...@googlegroups.com.
                Pour vous désabonner de ce groupe, envoyez un e-mail à
l'adresse symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
                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 à
symfony...@googlegroups.com.
        Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com
<mailto:symfony-fr%2bunsubscr...@googlegroups.com> .
        Pour plus d'options, consultez la page de ce groupe :
http://groups.google.com/group/symfony-fr?hl=fr
        




--
Jérémy LEHERPEUR
jer...@leherpeur.net


-- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail à
symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse
symfony-fr+unsubscr...@googlegroups.com.
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 
à symfony...@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à