Page 1 sur 1

récupérer le nom d'un dossier

Posté : 13 févr. 2006, 12:26
par Billou
Bonjour à tous

je voudrais savoir comment fait t'on pour récupérer bêtement le nom de plusieur dossier contenu dans un dossier.

je ne veux pas la liste des fichiers contenu dans le dossier, ni le chemin.

j'ai essayé avec ça mais ça me retourne pas le nom des dossier juste ..

Code : Tout sélectionner

$path = "../rep/"; echo ($repertoire = dirname( $path ));
voilivoilou quelqu'un a une idée merci

Posté : 13 févr. 2006, 12:50
par Invité
Peut être qu'il faudrait utiliser un opendir est dire qu'on affiche que les noms dossiers et non les nom de fichier. Mais comment faire le distingo entre les deux ???

Posté : 13 févr. 2006, 12:53
par demipoulp
sans garantie :

$path='le dossier a crawler';
$repertoire = opendir($path);

  while ($entree = readdir($repertoire)) {
    if ($entree == "." || $entree == "..")
{
  
        echo $entree.'<br>';
      
      
  }
}

  closedir($repertoire);

Posté : 13 févr. 2006, 13:27
par goeb
il existe la fonction is_dir qui permet de dire si un fichier est un dossier :
http://www.php.net/manual/fr/function.is-dir.php

Posté : 13 févr. 2006, 13:40
par zigz4g
Salut.

Voici la documentation de php avec quelques petites modification. La documentation se trouve sur www.php.net (chercher opendir et is_dir):
<?php
$dir = "/tmp/php5";
// Ouvre un dossier bien connu, et liste tous les fichiers
if (is_dir($dir)) {
    if ($dh = opendir($dir)) {
        while (($file = readdir($dh)) !== false) {
            if (is_dir($file)) {
                echo "fichier : $file : type : " . filetype($dir . $file) . "\n";
            }
            else {
                echo 'Ce n\'est pas un repertoire.<br />';
            }
        }
        closedir($dh);
    }
}
?>
Bien sur il faut rajouter du code pour afficher les gestions d'erreurs.

Posté : 13 févr. 2006, 15:14
par billou
oui ok ça fonctionne bien (il me dit ça c'est un dossier, ça s'en ai pas un) mais il ne m'affiche toujour pas les nom de mes dossier juste des points.

Je pense que c'est parce que j'ai la version 4.0.3 de php

Posté : 17 févr. 2006, 12:15
par goeb
il faut que tu dises explicitement que tu veux afficher le nom du dossier. avec la fonction "echo" :
http://www.php.net/manual/fr/function.echo.php
(mais je pense que tu la connais)

et si tu n'as aucun répertoire, il t'affichera seulement "." et "..". ça c'est normal.
if (is_dir($x)) {
    echo "$x";
}