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 :

afficher des fichiers sous forme de lien


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut afficher des fichiers sous forme de lien
    Salut a tous !!
    J'ai pu recuperer des fichiers du repertoire "C:\willy"
    dans mon disque dur serveur et je parviens
    a les afficher sur l'interface client,j'utilise le code:

    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
     
    <?php
     
       $dir='C:\willy';
     
       if(@is_dir($dir)){// On vérifit que le dossier existe
     
        $dh = opendir($dir);// On ouvre le repertoire    
     
        while(($file = readdir($dh)) !== false){// Boucle pour parcourir le repertoire
     
    	   echo 'Fichier : ',$file,'<br />';
     
        }
        closedir($dh);// On ferme le repertoire
     
        unset($nomFich,$dir,$dh);// On supprime les variables qui servent à rien
     
    }else{
     
        echo '<p style="text-align: center;">Le dossier <strong>',$dir,'</strong>
    
     n\'existe pas.</p>';
     
    }
    ?>
    mon probleme est que je veux afficher
    ces fichiers sous forme de lien de tel sorte
    que lorsqu'on clique dessus mon script download.php
    est appele pour faire le telechargement,
    mais je ne sais vraiment pas comment m'y prendre.
    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    globalement ca peut ressembler à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="download.php?section=willy&file="' . $file . '>Fichier : '.$file.,'</a><br />';
    attention a la sécurité sur ton script download.php
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut afficher des fichiers sous de lien
    Salut et vraiment merci pour cette prompt reponse.
    j'ai essaye ton bout de code
    et il marche a merveille,mais le probleme
    se pose maintenant au niveau du telechargement,
    voici mon download.php :
    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
     
    <?php 
     
    $dir='C:\willy\ ' .$file ;
     
    if (isset($_REQUEST["file"])) {
     
      $file=$dir.$_REQUEST["file"];
     
       	header("Content-Type: application/octet-stream");
     
     
        header("Content-Transfer-Encoding: Binary");
     
        header("Content-length: ".filesize($file));
     
        header("Content-disposition: attachment; 
    
    filename=\"".basename($file)."\"");
     
     
        readfile("$file");
     
     } else {
        echo "No file selected";
    }
     ?>
    lorsque je clique sur un lien la fenetre de telechargement s'ouvre bien, mais n'y l'icone,n'y le nom du fichier n'est affiche a l'entete.
    j'avais deja essaye ce code dans un autre contexte,il ne telechargeait
    pas les fichiers de la famille office et quand bien meme il le faisait ils etaient illisibles,idem pour les .jpeg.
    vraiment merci encore pour ton aide et j'espere que je suis explicite.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Le serpent se mord la queue la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $dir='C:\willy\ ' .$file ;
    if (isset($_REQUEST["file"])) {
    $file=$dir.$_REQUEST["file"];
    Corrigé ca peut donner :
    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
    <?php
    if (isset($_GET['file'])) {
    	$file = preg_replace('/[^0-9a-z\.\_\-]/i','',$_GET['file']);
    	$dir='c:\\';
    	$fullpath = $dir.$file;
     
    	if (is_file($fullpath)) {
    		header("Content-disposition: attachment; filename=".$file);
    		header("Content-length: ".filesize($fullpath));
    		header('Content-Type: application/octet-stream');
    		header('Content-Transfer-Encoding: binary');
    		readfile($fullpath);
    	}
    }
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 20
    Par défaut lien et ...
    salut j'ai essaye ton code
    mais lorsque je clique sur un lien => page blanche
    aucun message d'erreur,rien

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu as corrigé le chemin ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Afficher des données sous forme d'un tableau.
    Par Khaoula.85 dans le forum MFC
    Réponses: 3
    Dernier message: 29/10/2009, 14h56
  2. Afficher des données sous forme de tableau
    Par poti67 dans le forum JSF
    Réponses: 10
    Dernier message: 24/09/2008, 15h35
  3. [MySQL] Afficher des résultat sous form de tableau invisible ?
    Par tentsuken dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/01/2008, 15h18
  4. afficher des données sous forme de liste
    Par yannick9 dans le forum VBA Access
    Réponses: 4
    Dernier message: 02/08/2007, 14h32
  5. jsp+afficher des données sous forme de graphes
    Par oasma dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/03/2007, 13h24

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