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 :

Gestion de fichier / dossier erreur de reconnaissance


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut Gestion de fichier / dossier erreur de reconnaissance
    Bonjour,

    Je me fabrique un petit système de gestion de fichier pour mon ftp en suivant ce tutorel.

    Seulement j'arrive à différencier un fichier d'un dossier lorsque ma variable $dirroot = "./" mais dès que je change, par exemple pour aller dans un sous-repertoire il ne me reconnait plus les dossiers des fichiers...

    Voici mon code:

    PS: ne faite pas attention à mon anglais :p

    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
    if(isset($_GET['list'])) // list exist, then we want list a specifically directory
    {
    	$dirroot=$_GET['list'];
    }
    else
    {
    	$dirroot="./"; // from which directory
    }
     
    $diropened=Opendir($dirroot); // Opening and reading of directory
    while ($file = readdir($diropened)) // List of directory 
    {
    	if($file != "." && $file != "..")
    	{
    		if(is_dir($file))
    			echo '<a href=index.php?list='.$dirroot.$file.'><img src="img/dir.png" alt="directory" title="directory" /> '.$file.'</a><br />';
    		else
    			echo '<img src="img/file.png" alt="file" title="file" /> '.$file.'<br />';
     
    	}
     
    }
    closedir($diropened); // directory closing

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Normal, le chemin fournit à is_dir serait, dès lors, incomplet/faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(is_dir($dirroot . $file)) # implique $dirrroot terminé par un slash
    (voir aussi la SPL)

    PS : si nécessaire, un contrôle pour empêcher les gens de remonter où ils ne sont pas sensés aller ne serait probablement pas superflu.

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Avril 2010
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Avril 2010
    Messages : 116
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par julp Voir le message
    Normal, le chemin fournit à is_dir serait, dès lors, incomplet/faux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(is_dir($dirroot . $file)) # implique $dirrroot terminé par un slash
    Salut,

    Merci pour ta réponse.
    Je n'ai pas vraiment saisi mais je vais me renseigner dans la doc de is_dir.

    Et pour la SPL c'est parfait, merci.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/04/2007, 11h52
  2. Gestion de fichiers et dossiers
    Par Jean|Jean[FR] dans le forum C
    Réponses: 4
    Dernier message: 15/04/2007, 20h57
  3. gestion des fichiers et dossiers avec FTP
    Par ahmeds dans le forum Réseau/Web
    Réponses: 3
    Dernier message: 12/10/2006, 13h09

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