Bonjour,
Je viens vers vous car je suis quelques peu gène sur un soucis en PHP.
Lors d'un listing recursif de mes dossiers ( listDirectory($dir) ), je récupère tout mes dossiers et mes fichiers, affichable avec une arborescence via quelques tricks html ( margin-left:15px par exemple). Juste que la tout va bien.
Mais ma difficulté désormais réside sur le fait que je veux stocké ces informations dans un tableau. De tel sorte que j'ai de base un array :
Code :
- 'name' => 'Racine',
- 'path' => 'C:/Doc',
- 'folders' => '',
- 'files => ''
|
Que je veux pouvoir remplir de tel sorte que dans folders, j'ai un array similaire à ce que j'ai déjà fait pour ma racine, en clair un tableau multidimensionnel.
ainsi avoir un tableau qui ressemblerai à ceci :
Code :
- array(
- 'name' => 'Racine',
- 'path' => 'C:/Doc',
- 'folders' => array('name'=>'dossier1', 'path'=>'c:/doc/dossier1', 'folders'=>array(..), 'files'=>array(..)),
- 'files => array(...)
- );
|
Me permettant ensuite à tout loisir de traiter ces informations via les différents critères que j'ai (Niveau de droit, extensions, avoir une arborescence évoluée etc... )
Mais autant j'accede sans soucis à $tab['files'] pour y ajouter mon autre array. Autant ensuite, je ne sais pas comment acceder à l'array inclus dans mon array. En fait il faudrai que je puisse naviguer de la racine au branche de cet arbre.
J'ai vu qu'il y avais FileSystemIterator, DirectoryIterator etc... Mais ceux ci ne me conviennent pas car je n'ai pas la main sur ce qu'il me sors, or j'ai besoin de faire des manipulation dans mon tableau, et pouvoir en faire d'autre à la lecture de ce tableau et non pas afficher pele mele mon arborescence.
Je me suis peut-être pas expliqué de la meilleure des façons, j'ai un peu du mal avec tout les moyens que j'ai essayé de mettre en oeuvre que je m'embrouille. Si besoin faites moi savoir que j'explique mieux mon soucis.
Je vous remercie de tout aide que la très chère communauté pourra m'apporter, je vous avoue que la, je suis quelques peu bloqué.
Merci de votre lecture,
Cordialement,