PHP: Telecharger fichiers placé hors www

Julien -  
doctormad Messages postés 456 Statut Membre -
Bonjour,

Je suis en train de développer une petite application en PHP.

Cependant, je bloque... J'aimerai brower un répertoire de mon linux et télécharger les fichiers que j'y trouve....

D'après vous, est-ce possible ?

Merci à vous ,

J

3 réponses

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    Bonjour,

    Pour faire ceci, il te faut créer une nouvelle page php, dans laquelle :

    - tu modifies les en-têtes HTTP, et particulièrement le type MIME pour que le fichier soit téléchargé ;
    - tu ouvres le fichier (file_get_contents), et tu l'envoies (echo)

    Xavier
    1
    1. doctormad Messages postés 456 Statut Membre 99
       
      Tout à fait, en gros ça peut ressembler à ça :

      <?php

      header("Content-disposition: attachment; filename=$name");
      header("Content-type: application/octet-stream");
      header("Content-Length: ".filesize($file));
      header("Pragma: no-cache");
      header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
      header("Expires: 0");
      readfile($file);
      flush();

      ?>
      0
  2. doctormad Messages postés 456 Statut Membre 99
     
    Salut,

    Oui c'est possible, il te faut scripter la navigation dans le répertoire donné et le download du/des fichiers demandés.

    Il n'y a pas de truc tout fait comme un <input type="file"> si c'est la question ^_^
    0
  3. julien
     
    _______________________________________________________
    Salut,

    Oui c'est possible, il te faut scripter la navigation dans le répertoire donné et le download du/des fichiers demandés.

    Il n'y a pas de truc tout fait comme un <input type="file"> si c'est la question ^_^
    _______________________________________________________

    Salut doctormad, et merci d'avoir répondu,

    J'ai trouvé un code pour brower le répertoire et je vois bien mes fichiers, par contre, je ne vois pas pas comment télécharger ceux-ci,

    Avec un lien href ? mais le problème c'est que le répertoire en question n'est pas dans mon dossier web www .... Alors comment puis je faire ....

    Une idée, ou une suggestion ?

    Merci,

    J
    0