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