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 :

telechargement des fichiers en php


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 26
    Points
    26
    Par défaut telechargement des fichiers en php
    Bonjour,
    j'ai un script qui force le telechargement d'un fichier dans un repertoire B comme indique:
    le premier script


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    $dossier = opendir ("B/");
    while ($fichier = readdir ($dossier))
    {
      if ($fichier != "." && $fichier != "..")
      {
        echo '<a href="download.php?file='.$fichier.'">'.$fichier.'</a><br />';
      }
    }

    et le script download.php est:


    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
     
     
    $contenue = file_get_contents('B/x.txt');
    $nomdufichier = "x.txt";
    $tailledufichier = filesize('B/x.txt');
     
    @ob_end_clean();
    @ini_set('zlib.output_compression','Off');
     
    header('Pragma: public');
    header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
    header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
    header('Content-Tranfer-Encoding: none');
    header('Content-Type: application/octetstream; name="'.$nomdufichier.'"');
    header('Content-Disposition: attachement; filename="'.$nomdufichier.'"');
    header('Content-Length: '.$tailledufichier);
     
    echo $contenue;
    exit();




    donc voila à l'execution du script je telecharge un fichier x.txt qui est unique dans ce repertoire.

    maintenant si j'ai 3 fichiers x, y et z alors lors de telechargement de nimporte quel fichier parmi les trois, toujours le telechergement se fait pour le fichier x.

    quelle est l'idée pour séparer celui la et à chaque clique de telechargement de chaque fichier ( x ou y ou z), j'obtiens le telechargement du fichier desiré.
    Merci

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2003
    Messages : 154
    Points : 164
    Points
    164
    Par défaut
    Si j'ai bien compris, et d'apèrs tes exemples, il n'y a aucune interaction entre tes deux fichiers php.

    Même si tu précises dans un lien quel fichier (viaz la variable $fichier) tu dois télécharger, tu n'en tiens absoluement pas compte dans le document php qui génère ton fichier.

    De un, dans ton document à télécharger, modifie ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $contenue = file_get_contents('B/x.txt');
    $nomdufichier = "x.txt";
    $tailledufichier = filesize('B/x.txt');
    par un tableau pour le nombre de fichiers que tu as à télécharger, de cette forme là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $files = array();
    $files["x"]["contenu"] = file_get_contents('B/x.txt');
    $files["x"]["nom"] = "x.txt";
    $files["x"]["taille"] = filesize('B/x.txt');
    $files["y"]["contenu"] = file_get_contents('B/y.txt');
    $files["y"]["nom"] = "y.txt";
    $files["y"]["taille"] = filesize('B/y.txt');
    $files["z"]["contenu"] = file_get_contents('B/z.txt');
    $files["z"]["nom"] = "z.txt";
    $files["z"]["taille"] = filesize('B/z.txt');
    Et ensuite, par rapport à la variable en GET ($fichier), tu affiche les données liée au fichier demandé.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 57
    Points : 26
    Points
    26
    Par défaut pas compris
    Citation Envoyé par Orgied
    Si j'ai bien compris, et d'apèrs tes exemples, il n'y a aucune interaction entre tes deux fichiers php.

    Même si tu précises dans un lien quel fichier (viaz la variable $fichier) tu dois télécharger, tu n'en tiens absoluement pas compte dans le document php qui génère ton fichier.

    De un, dans ton document à télécharger, modifie ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $contenue = file_get_contents('B/x.txt');
    $nomdufichier = "x.txt";
    $tailledufichier = filesize('B/x.txt');
    par un tableau pour le nombre de fichiers que tu as à télécharger, de cette forme là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $files = array();
    $files["x"]["contenu"] = file_get_contents('B/x.txt');
    $files["x"]["nom"] = "x.txt";
    $files["x"]["taille"] = filesize('B/x.txt');
    $files["y"]["contenu"] = file_get_contents('B/y.txt');
    $files["y"]["nom"] = "y.txt";
    $files["y"]["taille"] = filesize('B/y.txt');
    $files["z"]["contenu"] = file_get_contents('B/z.txt');
    $files["z"]["nom"] = "z.txt";
    $files["z"]["taille"] = filesize('B/z.txt');
    Et ensuite, par rapport à la variable en GET ($fichier), tu affiche les données liée au fichier demandé.

    Bonjour

    suite à votre reponse, en fait comme j'ai ecrit le code et je vous ai montré, comme j'ai un fichier x.txt ou en plusieurs fichiers, le telechargement se fait seulement pour le fichier x.txt.
    maintenant, autrement dit je veux que le telechargement soit pour plus qu'un fichier alors que pour chaque fichier desiré et j'ai pas GET.

    pouvez vous expliquer en plus votre idée avec un ex car comme vous avez proposé ca marche pas. je vous attends
    merci

Discussions similaires

  1. Wget - télécharger des fichiers non-html
    Par narmataru dans le forum Réseau
    Réponses: 10
    Dernier message: 14/07/2018, 15h20
  2. inserer / telecharger des fichiers
    Par fétémété dans le forum Langage
    Réponses: 4
    Dernier message: 26/06/2006, 00h25
  3. [VBA-E]Telecharger des fichiers
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/03/2006, 09h06
  4. exécution des fichiers index.php
    Par berry dans le forum Apache
    Réponses: 4
    Dernier message: 20/12/2004, 20h29

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