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<symfony-fr%2bunsubscr...@googlegroups.com>
>> <mailto:symfony-fr%2bunsubscr...@googlegroups.com<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<symfony-fr%2bunsubscr...@googlegroups.com>
>> <mailto:symfony-fr%2bunsubscr...@googlegroups.com<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<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<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<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

Répondre à