récupérer le nom d'un dossier

Billou
Invité n'ayant pas de compte PHPfrance

13 févr. 2006, 12:26

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

Invité
Invité n'ayant pas de compte PHPfrance

13 févr. 2006, 12:50

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 ???

Eléphant du PHP | 200 Messages

13 févr. 2006, 12:53

sans garantie :

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

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

  closedir($repertoire);
Univers divided by 0 - cucumber error - reboot

Eléphant du PHP | 413 Messages

13 févr. 2006, 13:27

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
--
Goeb

Mammouth du PHP | 684 Messages

13 févr. 2006, 13:40

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.
Zigz4g

billou
Invité n'ayant pas de compte PHPfrance

13 févr. 2006, 15:14

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

Eléphant du PHP | 413 Messages

17 févr. 2006, 12:15

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";
}
--
Goeb