IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

téléchargement d'un fichier [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 88
    Par défaut téléchargement d'un fichier
    Bonjour à tous!

    Comment permettre à un utilisateur un téléchargement d'un fichier de type .csv en clickant sur une icon (lien)?

    En fait j'ai pu créé le lien et laction qui va avec. Quand je click sur le lien l'action s’exécute mais j'ai pas la boite de dialogue qui devait me proposée le téléchargement du fichier?

    voici le bout de code concerné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    // la variable qui va contenir les données CSV
    		$outputCsv = '';
    		// Nom du fichier final
    		$file = 'export-file.csv';
     
    		$outputCsv .= "nom".';';
    		$outputCsv .= "prnom".';';
    		$outputCsv .= "mail".';';
    		foreach($listUsers as $user) {
    			$outputCsv .= trim($transactions->getNom()).';';
    			$outputCsv .= trim($transactions->getPrenom()).';';
    			$outputCsv .= trim($transactions->getMail()).';';
    		}
    		$fp=fopen($file, "w");
    		fputs($fp, $outputCsv);
    		fclose($fp);
    		header("Content-Type: application/force-download" );
    		header("Content-Length: ".filesize($file));
    		header("Content-Disposition: attachment; filename=".$file);
    		header("Content-Transfer-Encoding: csv\n");
    		header("Pragma: no-cache"); 
    		header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
    		header("Expires: 0"); 
    		readfile($file);
    Merci d'avence!

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    déjà utilise fputcsv, ensuite la plu part de tes entêtes sont inutiles, ca ressemble a du copier coller, et ton Content-Transfer-Encoding est faux

  3. #3
    Membre émérite Avatar de kenny.kev
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    646
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 646
    Par défaut
    et il te manque le pour ne pas chercher à prendre un ton layout et ton template.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 88
    Par défaut
    Merci pour vos réponses!

    la méthode fputcsv prend bien un une liste de array un table de tables c'est exactement ce que je veux, seulement, dans mon cas le nombre de tableaux dans ma liste de tableaux pas fixe et peut varier!!! alors comment on créée un une liste de tableaux dynamiquement? ou si vous avez une autre solution je suis preneur

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    dans ton cas c'est fixe puisque il y'a 3 champs

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    foreach($listUsers as $user) {
        $outputCsv = fputcsv($handle,
            array(
                $transactions->getNom(),
    	    $transactions->getPrenom(),
    	    $transactions->getMail()
            ), ';'
        )
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  2. Réponses: 2
    Dernier message: 30/05/2006, 15h07
  3. forcer le téléchargement - problème ouverture fichier
    Par grinder59 dans le forum Langage
    Réponses: 8
    Dernier message: 09/03/2006, 15h59
  4. permettre le téléchargement d'un fichier
    Par vincentweb dans le forum Langage
    Réponses: 1
    Dernier message: 23/02/2006, 23h50
  5. [Configuration] problème pour forcer le téléchargement d'un fichier
    Par All Bran dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/01/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo