Création d'une arborescence

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 347 fois - Téléchargée 30 fois

Contenu du snippet

Cette fonction permet de lister les fichiers et dossiers contenu dans un dossier et même de lister les sous-dossiers.
En gros il fait toute l'arborescence à partir d'un dossier. Tout cela par récursivité.
J'ai mis un filtre pour ne pas lister certains dossier ou fichier et un autre pour ne pas lister certaines extensions

Source / Exemple :


<?php

function ListFolder($Folder, $SkipFileExts, $SkipObjects) // Fonction pour lister les dossier
{
 $dir = opendir($Folder);
 while (false !== ($Current = readdir($dir))) // Boucle sur tout ce qu'il y a dans le répertoire
 {
  if ($Current !='.' && $Current != '..' && in_array($Current, $SkipObjects)===false)
  {
   if(is_dir($Folder.'/'.$Current)) // Si c'est un dossier
   {
    echo '<strong style="color: #ff0000;">'.$Current.'</strong><br>'; 
    ListFolder($Folder.'/'.$Current, $SkipFileExts, $SkipObjects); // On liste les dossiers contenue dans le dossier (récursivité)
   }
   else
   {
    $FileExt = strtolower(substr(strrchr($Current ,'.'),1));
    if (in_array($FileExt, $SkipFileExts)===false) // On regarde si on dois afficher cette extension
     echo $Current.'<br>';
   }
  }
 }
 closedir($dir); 
}

?>

<html>
 <head>
  <title>Test listage de fichier et dossier par récursivité</title>
 </head>
 <body>

  <?php
   $Folder = './';
   $SkipExts = array('txt', 'php', 'db');
   $SkipObjects = array('UnDossier', 'UnFichier');
   ListFolder($Folder, $SkipExts, $SkipObjects);
  ?>	

 </body>
</html>

Conclusion :


Pour le listage, je n?ai pas fait de mise en forme. Y'a juste les dossiers en gras et en rouge, les fichiers en noir.
C'est juste pour l'example.
Ce sont mes débuts en PHP, donc n'hésiter pas à m'encourager ou à me critiquer. Le but étant de progresser.

A voir également

Ajouter un commentaire Commentaires
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
est déprécié. Certes, c'est toujoiurs valable dans les anciennes versions du html.
Comme utiliser register_globals à On en php, ou les short-open tags à On...
Les css n'existent que dans les versions récentes de html, et ne sont donc pas mandatory.
Mais, Wizad, quand avance-t-on ?
Les recommendantions du W3C sont aussi des normes, il ne faut pas l'oublier. Et ces normes ont une raison d'être : l'accessibilité. Et l'accessibilité, c'est quand même la philosophie première du net.

Quant à des navigateurs qui ne comprennent pas une css normale, il faudra que tu m'en cites qui soit encore utilisés actuellement... ;-)
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Ok, merci je suis éclairé maintenant.
Je vais jeter un coup d'oeil sur le site que tu m?as donné.
Et merci encore.
Messages postés
355
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

Pour plus d'informations je te conseil de visiter ce site : http://www.w3.org => il s'agt de l'organisation chargé de la normalisation du html.
Messages postés
355
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

concernant
il s'agit de l'ancienne norme d'écriture. la nouvelle est
. Concernant il s'agit de différente recommandation et donc différente méthode de faire la même chose. Aprés tout est histoire d'habitude. Il faut aussi préciser que les différente norme sont faite sous forme de recommandation aux webmasters et ne font pas office de vérité absolue. A chaque norme viens son lot de mécontents, de critiques et d'abération (de progrés aussi je te rassure).

Voila en espérant avoir éclairer ta lanterne.
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Voilà, c'est encore corriger.
Pour le .db, désolé, c'est moi qui ai pas fait attention, je l'ai rajouté après et j'ai oublié que je ne prenais pas le point en compte dans la fonction.

Pour le reste, je m'enrouille un peu

Apparemment ne marche pas sur les anciens navigateurs.
Mais faut t-il utiliser et que ? (les anciens navigateurs sont de moins en moins utilisé)

Et
ca marche, aussi, et ainsi que

On m'a dis d'utiliser
, maintenant c'est
, quelle est la différence ? Les deux marches pourtant ?

Si quelqu'un peu se prendre un peu de temps pour m'expliquer tout ca, ce serai vachement sympas.
Et désolé de poser des tas de question, mais je débute vraiment dans le monde de l'html, du PHP, et du JavaScript.

Et merci a vous tous pour votre soutient.
Afficher les 13 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.