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 :

telechargement avec symfony [1.x]


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 33
    Par défaut telechargement avec symfony
    je n'arrive pas a télécharger un fichier a partire de son url.
    exemple pour télécharger monFichier.txt j'utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="http://localhost/monProjet/web/uplods/monFichier.txt">Télécharger</a>
    Est ce que il y a une fonction spécialiser pour le téléchargement?

  2. #2
    Membre éclairé
    Inscrit en
    Août 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 79
    Par défaut
    Hello,

    Il y a pas besoin du /web
    Vu que t'es pas à la racine de ton site web, il faut ajouter si c'es pas deja fait dans le .htaccess la règle du RewriteBase avec /monProjet

    dans ton lien il manque aussi un "a" à upload

  3. #3
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 33
    Par défaut
    Merci PinGu-
    je crois que la solution est de forcer le téléchargement voici une explication très utile

    Voici comment forcer téléchargement d'un fichier à l'aide du PHP.
    Pour que le script fonctionne il ne faut pas d'instruction qui affiche quelques choses à l'écran avant les lignes header.

    Par exemple créer un fichier" telecharger.php" avec comme contenu :


    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
    <?php 
     
    // on essaie de reconnaitre l'extension pour que le téléchargement corresponde au type de fichier afin d'éviter les erreurs de corruptions 
     
    switch(strrchr(basename($Fichier_a_telecharger), ".")) {
     
    case ".gz": $type = "application/x-gzip"; break;
    case ".tgz": $type = "application/x-gzip"; break;
    case ".zip": $type = "application/zip"; break;
    case ".pdf": $type = "application/pdf"; break;
    case ".png": $type = "image/png"; break;
    case ".gif": $type = "image/gif"; break;
    case ".jpg": $type = "image/jpeg"; break;
    case ".txt": $type = "text/plain"; break;
    case ".htm": $type = "text/html"; break;
    case ".html": $type = "text/html"; break;
    default: $type = "application/octet-stream"; break;
     
    }
     
    header("Content-disposition: attachment; filename=$Fichier_a_telecharger"); 
    header("Content-Type: application/force-download"); 
    header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
    header("Content-Length: ".filesize($chemin . $Fichier_a_telecharger)); 
    header("Pragma: no-cache"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
    header("Expires: 0"); 
    readfile($chemin . $Fichier_a_telecharger); 
    ?>
    Ensuite faire un fichier test.php ou test.html suivant ses préférences.

    On appelle le fichier telecharger.php en passant en paramètre le nom du fichier à télécharger ainsi que le chemin.

    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
    <html>
    <head>
    <title>Forcer le téléchargement d'un fichier</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
     
    <?php
    // Test du téléchargement d'un fichier avec reconnaissance du type de fichier 
    echo "<a href=\"telecharger.php?Fichier_a_telecharger=monfichier.txt&chemin=test/\">Télécharger</a>";
    ?>
     
    </body>
    </html> 
     
    Ou simplement si l'on ne veut utiliser que du html 
     
    <html>
    <head>
    <title>Test du téléchargement d'un fichier</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
     
    <a href="telecharger.php?Fichier_a_telecharger=monfichier.txt&chemin=test/">Télécharger</a> 
     
    </body>
    </html>

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

Discussions similaires

  1. Comment telecharger avec Delphi
    Par PimpW dans le forum Delphi
    Réponses: 2
    Dernier message: 08/08/2006, 13h16
  2. forcer le telechargement avec la bonne Extetion!
    Par zelig dans le forum Langage
    Réponses: 1
    Dernier message: 23/07/2006, 14h37
  3. prb retour a la ligne dans fichier txt telecharge avec php
    Par supersonicblonde dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 14h20
  4. Réponses: 2
    Dernier message: 12/05/2006, 23h59
  5. [VBA-E]Telecharger avec URLDownloadToFile
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/04/2006, 10h24

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