Page 1 sur 1
Scanner et trier les fichiers d'un dossier sans base héhé
Posté : 31 août 2006, 17:11
par El doc
Hi,
Le sujet est, je pense, clair, mais bon

J'arrive à scanner tous les fichiers de mon dossier mais je voudrais pouvoir les ressortir triés par leur nom par exemple. Pour info, j'ai rien en base. On m'a préconisé une solution avec un tableau dynamique mais c'est p'tet pas la seule/meilleure solution. Qu'en dites-vous ? Vous savez faire ?
++
El doc
Posté : 02 sept. 2006, 12:49
par zigz4g
Salut.
Pourquoi n'utilise tu pas une base de données ? Tu peux travailler avec SQLite.
Pour t'aider un peu, tu peux effectivement faire un tableau avec les noms de tes fichiers.
Tu les mets dans un tableau et tu fais un tri alphabétique dessus.
Regarde dans la doc il existe pas mal de commande pour faire des tris.
http://www.php.net/manual/fr/ref.array.php
Posté : 05 sept. 2006, 09:02
par Invité
Salut et merci pour la réponse.
Le problème est que je voudrais bien passer par une BDD mais je n'ai pas le droit ^^. Comment faire alors pour ce tableau ???
Hell D
Posté : 05 sept. 2006, 09:11
par Henri
Est-ce que tu es allé lire la page indiquée ? Tu y verras des fonctions qui s'appellent sort, natsort, asort, ... qui permettent de trier un tableau.
Posté : 05 sept. 2006, 09:19
par Invité
Oui j'ai fait un saut sur la page indiquée mais je ne comprends pas pourquoi mon script, alors que les fichiers ont déjà une date et un nom qui permettrait un tri naturel, ne me sort pas les valeurs dans l'ordre...
Exemple sur 3 fichiers (janvier, février, mars)
01.pdf
02.pdf
03.pdf
Ils ont été déposé dans cette ordre sur le serveur au mois indiqué.
Pourquoi me sort-il un 02,01,03 ?????? Je pige pas

d'où la solution des tableaux en absence de base...Sur quel critère se fait un scan de dossier ?
El doc
Posté : 05 sept. 2006, 09:53
par zeus
La manière dont PHP parcours un dossier ne suis pas un tri "dur"
La seule manière de trier tes dossiers reste donc :
- parcourir ton dossier et mettre les fichiers dans un tableau
- trier ton tableau
Posté : 05 sept. 2006, 16:04
par Invité
J'ai beau cherché, je n'arrive pas à faire le lien avec mon exemple...Quel casse-tête !! Faut dire que je ne suis pas bien à l'aise avec les tableaux :'(
Si quelqu'un pouvait éclairer ma morne lanterne.
J'arrive à afficher, grâce à un while, toutes les valeurs voulues mais pas dans l'ordre espéré puisque je me retrouve avec des incohérences genre un film de 1979, puis un autre de 1988 et de nouveau un film de 1981.
Hell doc
Posté : 05 sept. 2006, 16:17
par Ryle
La seule manière de trier tes dossiers reste donc :
- parcourir ton dossier et mettre les fichiers dans un tableau
- trier ton tableau
Si tu arrives à afficher chaque valeur avec ton while, tu peux tout aussi bien les mettre dans un tableau au lieu de les afficher. Si c'est l'utilisation des tableaux qui te pose problème, il y a
tout ce qu'il faut savoir sur les tableaux ici.
Une fois tes données dans le tableau, tu appelles une fonction de tri. Si ce sont les fonction de tri qui t'arrêtent, il y a
tout ce qu'il faut savoir sur les tableaux ici.
Il ne te reste plus ensuite qu'à parcourir ton tableau trié et enfin afficher tes éléments dans l'ordre. Et si jamais c'est le parcours d'un tableau qui t'ennui, il y a
tout ce qu'il faut savoir sur les tableaux ici.

Posté : 05 sept. 2006, 17:17
par Invité
Ok merci de m'aiguiller sur ce que je sais déjà et veux faire depuis le début

.
Si je poste c'est pas par plaisir, ni pour faire mon intéressant, ni par fainéantise (vous remarquerez que je n'ai volontairement pas mis mon code), juste pour être aidé et comme je trouve tous ces arrays un peu trop abstraits à mon goût, je venais juste chercher un peu de concret qui m'aiderait bien plus que tous ces liens réunis car quand une logique veut pas rentrer un exemple clair et une explication bien faite valle bien mieux que 1001 pages de pure théorie (à mon humble avis)
Exemple : expliquer à des gens noob en informatique ce qu'est le référencement ou la notion d'hébergement. Un dessin est plus parlant que les termes que je peux leur donner. Avec les arrays, dans mon exemple, je suis "ces gens"...
El doc
Posté : 05 sept. 2006, 17:31
par zeus
Quand tu expliques à quelqu'un comment installer un programme, est-ce que tu préfères venir chez lui et le lui installer à chaque fois ou bien lui expliquer comment faire pour qu'il le fasse ensuite tout seul ?
Personnellement, je préfere la seconde solution
Donc, pour tes tableaux, tu remplis un tableau avec la liste de tes noms de fichiers.
Dès que ce tableau est plein, tu utilises une des fonctions de tri sur les tableau (sort(), asort(), nsort(), ...) pour trier ton tableau dans le sens que tu veux et tu obtiens un tableau trié.
Maintenant, si tu as des résultats incensé après le tri, il est temps de nous donner ton code et les résultats avant/après le tri pour qu'on puisse comprendre et exmpliquer