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]>>
> .
> 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]>
> .
> 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