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

Langage PHP Discussion :

[CSV] Forcer un téléchargement : nom du fichier de destination


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut [CSV] Forcer un téléchargement : nom du fichier de destination
    Bonjour,

    J'ai fait un script PHP permettant d'enregistrer des données dans un fichier csv et de télécharger ce fichier. Voici un extrait du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    // sauvegarde du fichier
    $fichier="export.csv";
    $handle = fopen("$fichier","w");
    fputs($handle,$contenu);
    fclose($handle);
     
    // redirection pour lancer le téléchargement du fichier
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=\"$fichier\"");
    readfile($fichier);
    Le problème est que le navigateur me propose de sauvegarder le fichier sous export.csv.php et j'aimerais que, par défaut, ce soit sous export.csv. Savez vous comment faire pour résoudre ce problème ? J'utilise Netscape comme navigateur.

  2. #2
    Membre régulier
    Avatar de july
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 88
    Points : 98
    Points
    98
    Par défaut
    Bonjour,

    J'ai testé ton code avec FireFox et IE et... j'ai pas eu de problème !
    Je te propose mon code essaye... :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    $nomfichier = creat_nom_sauv();
       // Création du nom du fichier avec le nom du répertoire
       $nomfichier = "test.csv";
       $filename = "Telecharge/$nomfichier";
     
       // Si le fichier n'existe pas, il est créé
       // On ouvre le fichier $filename en mode d'ajout grace à 'a'   
       // Le pointeur de fichier est placé à la fin du fichier  
       if (!$handle = fopen($filename, 'a')) {
             exit;
       }
       // On écrit dans le fichier et on sort s'il y a une erreur
       if (!fwrite($handle, $somecontent)) {
               exit;
       }
       // On ferme le fichier
       fclose($handle);
     
     
       // On calcule la taille du fichier après sa création
       $tailleFichier = filesize($filename);
     
       // Boite de dialogue de téléchargement
       header("content-type: application/octet-stream");
       // On passe la taille du fichier en paramètre
       header("Content-Length: $tailleFichier");
       // seulement pour application/octet-stream
       header("Content-Disposition: attachment; filename=".$nomfichier);
     
     
       // Enregistrer en Texte
       header("content-type: text/plain");
     
       // Envoie le buffer
       flush();
       // Envoie le fichier
       readfile($filename);
    Par contre, comment appelles-tu ce bout de code ? Car personnellement j'ai dans un fichier à part mon code et je l'appelle comme un lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href='telechargement.php'></a>
    Peut etre est ce aussi car j'appelle text/plain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("content-type: text/plain");
    Voila ! En espérant t'avoir aidé !

  3. #3
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    17
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 17
    Points : 8
    Points
    8
    Par défaut
    J'appelle mon script grâce à un formulaire mais je ne pense pas que ca vienne de là. Je pense plutôt que c'est dû au navigateur. En effet, ca fonctionne sur Firefox et IE mais lorsque j'utilise Netscape 7.02 il me rajoute ce .php.

    J'ai tenter avec ton code, mais rien y fait ! Donc je crois qu'on va attribuer le problème à Netscape ^^.

    merci tout de même pour ton aide.

Discussions similaires

  1. Forcer le téléchargement d'un fichier CSV
    Par the_tiger85 dans le forum Langage
    Réponses: 1
    Dernier message: 09/04/2013, 13h46
  2. Forcer le téléchargement d'un fichier CSV
    Par caballero dans le forum Langage
    Réponses: 2
    Dernier message: 07/07/2011, 10h24
  3. forcer le téléchargement d'un fichier csv
    Par nelbardi dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 21/07/2009, 16h15
  4. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  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