Réponse : les fichiers seront indexés sur l' id du client. C' est ce que je fait mais il l' appel ExportationEvaluation.. au lieu de file.csv
Le 2 décembre 2010 17:35, Lélio ML <[email protected]> a écrit : > 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]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<symfony-fr%[email protected]> > > > > > <mailto:symfony-fr%[email protected]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<symfony-fr%[email protected]> > > > > > <mailto:symfony-fr%[email protected]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<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]<symfony-fr%[email protected]> > <mailto:symfony-fr%[email protected]<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]<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]<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]. Pour plus d'options, consultez la page de ce groupe : http://groups.google.com/group/symfony-fr?hl=fr
