begin process at 2012 05 31 20:25:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

Trucs et astuces

 > 

Tableau stockant une arborescence virtuellement infinie


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Tableau stockant une arborescence virtuellement infinie

mercredi 11 mai 2005 à 11:47:04 | Tableau stockant une arborescence virtuellement infinie

malalam

Administrateur CodeS-SourceS
Salut a tous,

j'ai besoin d'avis...j'essaye de reflechir a ca tout seul dans mon coin, mais bon, il ne fait pas beau ici a Nuremberg, c'est le milieu de la semaine, je ne dors pas assez...bref, j'ai du mal ;-)

Mettons que je veuille stocker une arborescence de repertoires dans un tableau. Et je veux evidemment que ce tableau soit reutilisable sans se gaver d'aspirines a chaque fois que l'on veut en faire quelquechose...
Pour l'instant, la methode que j'ai choisie, si elle est efficace, me pose un probleme philosophique d'optimisation ;-)
Je stocke TOUS les fichiers et repertoires trouves dans un premier niveau de ce tableau associatif : $tableau[mon_chemin_courant_lu]
Puis je teste si ce que je rencontre dans ce chemin lu est un repertoire ou un fichier.
A ce moment, je le stocke soit dans
$tableau[mon_chemin_courant_lu]['dir'][]=nom du repertoire
ou
$tableau[mon_chemin_courant_lu]['file'][]=nom du fichier

Ca marche, et on peut ainsi facilement reafficher l'arborescence correctement moyennant quelques appels recursifs.
Mais du coup, j'ai des doublons...
mon_chemin_courant_lu est forcement egal a quelques chose soit dans $tableau[mon_chemin_courant_lu]['dir'][] soit dans $tableau[mon_chemin_courant_lu]['file'][]
Et ca me gene! J'ai l'impression de faire du gaspillage... ;-)

Donc si quelqu'un a une idee AUTRE que de stocker reellement l'arborescence telle quelle. AUTRE, parce que dans ce cas, je me retrouverais avec un tableau avec beaucoup beaucoup trop de dimensions possibles, et c'est ingerable...

J'ai aussi pense a ne stocker que le chemin dans un tableau simple associatif, mais dans ce cas, au reaffichage, je dois relire le repertoire pour tester si c'est un fichier, un repertoire, et de plus cela complique pas mal pour l'arborescence (il faudrait parser la clef associative a chaque fois). Et pour d'eventuels traitement sur uniquement certains repertoires, par exemple...(tri par exemple).

Voila...d'autres idees ?

Merci :-)
dimanche 22 mai 2005 à 21:26:33 | Re : Tableau stockant une arborescence virtuellement infinie

GAME2OVR

bas je n'ais pas tout compris, mais on peut suivre ton principe, tu fait un tableau la clé est le nom du dossier ou du fichier et la valeur et une information sur le fichier exemple
$dossier['mondossier']['image.jpg'] contiendra comme valeur le type de la variable, si c'est un dossier ou un fichier, sa taille etc...
c'est plus simple comme ça chaque nouvelle colonne du tableau est un dossier ou un fichier...
non??
lundi 23 mai 2005 à 11:58:11 | Re : Tableau stockant une arborescence virtuellement infinie

malalam

Administrateur CodeS-SourceS
Hello,

ben oui, c'est la methode dont je parle lol ? Je stocke le chemin complet, le nom du fichier ou repertoire, la seule difference entre ta methode et la mienne est que j'utilise le type (repertoire, fichier) comme clef, et non pas comme valeur.
Mais ton systeme a l'avantage de pouvoir effectivement stocker plus simplement d'autres infos si je veux...donc, je vais me pencher dessus :-) (je n'avais pas du tout ca dans l'idee, stocker la taille, le type mime etc...mais pourquoi pas!)

Merci en tous cas d'avoir repondu :-)


Cette discussion est classée dans : tableau, chemin, arborescence, courant, lu


Répondre à ce message

Sujets en rapport avec ce message

::: Arborescence dossier en php ::: HELP ME PLEASE [ par abdelmetz ] Déjà merci d'avance pour votre soutiens, ça fais 2 jours que je galère la dessus...J'ai écris listing des fichiers et dossiers (arborescence) d'après Nom du répertoire courant (sans l'arborescence) [ par Willis ] Bonjour,Je n'arrive Tableau dans php [ par shadow578 ] Bonjour, Alors j'ai un petit script qui me permet de lister les fichiers présents dans le dossier, jusqu'à la tout va bien, mais j'aimerai les cla Méthodes COM en PHP [ par Meodrann ] Bonjour, je ne sais pas si je suis au bon endroit, mais je cherche une documentation ou des éléments sur les différentes méthodes et syntaxes spécifi Chemin d'acces aux dossiers d'un serveur [ par alciros ] Comment retrouver le chemin d'acces aux dossiers de mon serveur 000webhost me permettant de creer un lien de telechargement? xhtml tableau [ par Clad49 ] Bonjour ! Voici ce code : [code=html] < Récupération de contenu de fichier dans une pop up [ par gmsiggy ] [b]salut a tout le monde l'année commence par les pblms [^^happy8] J'ai besoin de votre aide SVP Tout est dans le titre je m'explique d'avantage: J problème de selection dans un tableau (php) [ par tagadax ] Bonjour à tous!! Voila j'ai un petit souci.J'ai construis un tableau et donc a chaque bout de colonne j'ai inclu un checkbox.En dehors de mon tableau convertir xml en tableau afin extraire les données [ par sexynounours69 ] Je dois récuperer les données d'un fichier xml: ------------------------------------------------------------------------ <table_structur Affichage miniature avec javacript et boucle while php [ par stvoim2 ] Bonjour, je m'adresse ici car j'ai tout essayé pour répondre à mon problème en vain et je ne suis pas un specaliste du language javascript. J'ai créer


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales