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 :

Lister le contenu d'une repertoire (lien) symbolique


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2003
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Lister le contenu d'une repertoire (lien) symbolique
    Bonjour,

    Je dispose d'un NAS Synology (DS109) sur lequel j'ai un serveur web opérationnel.
    Afin de pouvoir accéder à mes videos depuis le serveur web j'ai créer un lien symbolique du repertoire video (volume1/video) vers le repertoire web (volume1/web/video) . J'ai également ajouter "Option +Indexes" dans le .htaccess du repertoire volume1/video.

    J'arrive à accéder à mes videos avec l'interface d'apache. Cependant pour une meilleur gestion et lisibilité j'aimerai pouvoir lister moi-même les videos au moyen d'un script PHP.

    Pour ce faire j'ai ce petit script très simple :
    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
    if (empty($_GET['rep'])) $dir = "./";
    else $dir = $_GET['rep'];
     
    echo 'Repertoire actuel : ' .$dir.'<br>';
    echo '<table border=1>';
     
    if ($handle = opendir($dir)) {
     
        while (false !== ($file = readdir($handle))) {
    	if ($file != "." && $file != ".." && $file != "index.php" && $file != ".htaccess"){
     
    	echo '<tr><td>'.filetype($file).'</td><td>';
     
    	if(realpath($file)) echo 'true=>';
        echo "<a href=\"$file\">$file</a></td>";
    		if (is_file($file)){
    			echo '<td>'.filesize($file).'</td></tr>'; 
    			}
    		else echo '<td></td></tr>';
    	}
        }
        closedir($handle);
    }
    else echo "Echec ouverture repertoire". $dir;
    ?>
    Ce script marche très bien pour lister les fichiers/dossiers d'un répertoire normal mais impossible d'afficher le contenu d'un répertoire "mapper"...

    Est-ce qu'il y a moyen de le faire?

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 8
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    il faut regarder du côté des fonctions islink() et readlink()

    Ce qui pourrait donner un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(is_link($dir)){
    if ($handle = opendir(readlink($dir))) {
    ...
    }
    }
    A tester quand même mais je pense que ça met sur la voie ...

Discussions similaires

  1. Comment lister le contenu d'un repertoire dans une URL?
    Par AliJava dans le forum Général Java
    Réponses: 2
    Dernier message: 13/05/2008, 11h19
  2. Comment lister le contenu d'un repertoire
    Par jeff&&php dans le forum Langage
    Réponses: 17
    Dernier message: 31/05/2006, 11h29
  3. [MySQL] Lister le contenu d'une table dans un tableau HTML
    Par carmen256 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/04/2006, 19h40
  4. [debutant] lister le contenu d'un repertoire
    Par azrael88370 dans le forum Débuter
    Réponses: 5
    Dernier message: 12/01/2006, 14h00
  5. Lister le contenu d'une table sans connaitre ses champs
    Par Google.be dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 30/03/2004, 15h23

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