Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

OF_DIRECTORYITERATOR : ITERATEUR DE RÉPERTOIRES AVEC FILTRES ET TRIS


Information sur la source

Description

Cette classe va vous permettre de manipuler les répertoires et les fichiers, mais aussi de créer vos propres filtres : voir les 2 filtres fournis en exemple  à la fin de la classe.

le but est également de faire des "tris" ascendants et descendants sur toutes les items trouvés.

Pour l'instant il n'a que 2 possibilités de tris :
- par nom de fichier/répertoire trouvé :
$instant->setSortAlpha(OF_DirectoryIterator::SORT_DESC);  // ordre inverse

- par date de modification de fichier :
$instant->setSortMTime(OF_DirectoryIterator::SORT_ASC);

Soit je rajouterai de nouvelles méthodes de tris, soit je vais faire un système similiaire aux filtres pour créer ses tris personnalisés.
 

Conclusion

Cette classe est utilisée en tant que "plugin" dans mon framework.

C'est pour cela que je laisse libre au programmeur de faire son propre système d'inclusion des filtres.

2 excellentes sources du même type sur ce site :
http://www.phpcs.com/codes/PHP5-SMARTDIR-ITERATEURS-PHP-LECTURE-INTELLIGENTE-REPERTOIRE_40393.aspx

http://www.phpcs.com/codes/LISTING-REPERTOIRE-AVEC-FILTRES_45125.aspx




 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de malalam le 30/12/2007 14:34:43 administrateur CS 9/10

Hello,

quelques remarques :
- à mon sens, tu n'utilises pas correctement getChildren(). Regarde la façon dont cette méthode est codée dans la SPL. Tu ne devrais pas avoir à rentrer dans plusieurs boucles pour récupérer les enfants. Une seule boucle générale devrait suffire. Quitte à mettre un flag indiquant si oui ou non on travaille en recursif. Si on ne connait pas la profondeur des répertoires, on ne peut pas les lister avec ton code. Pas simplement en tous cas.
Avec RecursiveDirectoryIterator, une boucle suffit pour liste tous les répertoires et sous-répertoires. Inspire-t-en. L'avantage de ta technique étant qu'on peut appliquer différents tris ou filtres en fonction du niveau. Mais je doute de l'utilité réelle du bin's.
- je ne comprends pas ta notion de optionValues dans ta classe de filtre?
- encore une fois, je trouve que le __call() est de trop. Autant passer à une méthode générique sort() une constante indiquant le type de tri que l'on veut : SORT_MTIME_ASC, SORT_MTIME_DESC etc...ça simplifie nettement les appels. Mais bon, ça, ça reste très subjectif :-)

Sino,, c'est très sympa :-)
Et merci pour la petite dédicace pour Neige et moi :-)

signaler à un administrateur
Commentaire de neigedhiver le 30/12/2007 22:43:42

Salut,

Pas le temps de regarder en détails pour le moment... Mais comme j'ai suivi la discussion sur le forum, je jetterai un oeil quand je serai de retour chez moi.
Et merci pour le clin d'oeil ;)

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

création automatique de répertoires et de fichiers [ par o0Leo0o ] Hop, je cherche comment on peut créer automatiquement (par exemple à la suite d'une formulaire) un repertoire et des fichiers. Vous pouvez m'aider ? problèmes des répertoires avec espaces [ par ChocoBiscuit ] salut tout le monde....Voilà... ca fait un peu genre moi g pleins de problèmes hyper importants, mais bon là c'est réellement le cas...Problème : PHP5 -> SPL , tri sur DirectoryIterator [ par stailer ] Bonjour, J'utilise la classe DirectoryIterator pour lister tous les répertoires et fichiers d'un chemin. Grâce à isFile je peux lister uniquement les Droit d'accès aux sous-répertoires [ par jack ] Salut ta tousSur mon site, j'ai des fichiers htaccess qui protègent l'accès aux répertoires (tant mieux).Dans un de mes prog, j'ai besoin de venir cha telechargement multiple [ par mortiis ] Bonjour à tousJe fait un site ou il est possible de télécharger des fichiers.Je le fait par download forcé.Je me demandais s'il étais possible de fair Tags Word - Conversion [ par jdaviaud ] Bonjour a tous,J'essaye desespérément de faire une interface d'import de fichiers texte pour les convertir ensuite en fichier HTML, tout fonctionne im Créer une archive [ par kurt67 ] Bonjour à tous, j'aimerais savoir si il existe un script créant des archives (quelque soit le format, pourvu qu'on puisse y mettre plusieurs fichiers) concaténer plusieur fichiers videéo [ par zipette ] Salut,Je voudrais scinder un gros fichiers en local chez moi, envoyer ces petits fichiers sur mon site et pouvoir les concaténer par une fonction PHP, copie des fichiers avec les sous repertoire sur disque local [ par angelx ] je voudrai copier les fichier d'un repertoire +sous repetoire vers un autre dossier local 'ex c:\temp ver c:\test'et si possible j'aimerais qu'il ne fonction upload [ par Zebra1928 ] salut à tous,j'ai un site en php hebergé sur un serveur Linux, mon problème est que j'utilise la fonction upload, elle fonctionne à merveille pour tou


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,827 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.