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