Page 1 sur 1

Lister un dossier en php et le trier

Posté : 02 août 2011, 18:13
par Pahaaco
Bonjour je dois lister un dossier en php. Pour çà c Ok avec ce code cela marche:
<?php
$nb_fichier = 0;

echo '<ul>';

if($dossier = opendir('_admin/pdf/pde/'))
{

while(false !== ($fichier = readdir($dossier)))
{

if($fichier != '.' && $fichier != '..' && $fichier != 'index.php')
{

$nb_fichier++; // On incrémente le compteur de 1
echo '<li><a href="./_admin/pdf/pde/' . $fichier . '"><img src="_img/icones/pdf_icon.png" alt="" width="15" height="15" /> ' . $fichier . ' </a></li>';
} // On ferme le if (qui permet de ne pas afficher index.php, etc.)
 
} // On termine la boucle

echo '</ul><br />';
 echo '<p>Il y a <strong>' . $nb_fichier .'</strong> fichier(s) dans le dossier</p>';

closedir($dossier);
 
}
 
else
     echo 'Le dossier n\' a pas pu être ouvert';
?>
Cependant j'aimerais afficher seulement les fichiers commençant par le chiffre 1, ou alors du chiffre 1 à 6 pour pouvoir les triier.

Est ce que quelqu'un pourrai modifier mon script pour que cela fonctionne ?
Je ne suis pas bon du tout en php, et incapable de faire ce code... mais j'ai pas le choix faut que l'affichage soit triier...

Merci de votre aide.

Re: Lister un dossier en php et le trier

Posté : 02 août 2011, 19:50
par Pahaaco
Up ?

Re: Lister un dossier en php et le trier

Posté : 02 août 2011, 21:47
par Ryle
Modération :
Les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.


Quant à ton problème, on ne modifiera pas ton script pour toi, mais l'on peut te guider vers la fonction substr() pour récupérer les premiers caractères d'une chaine (genre le nom de ton fichier) pour e tester

Re: Lister un dossier en php et le trier

Posté : 02 août 2011, 22:00
par Pahaaco
Ok je veux bien essayer de le faire mais connais tu un tutoriel ou une explication de cette fonction? je ne trouve pas !

Re: Lister un dossier en php et le trier

Posté : 03 août 2011, 11:22
par Blowingfish
Si tu as besoin d'information à propos d'une fonction, je te conseils vivement d'aller sur www.php.net qui est une excellente source pour avancer rapidement.

Sinon pour ton problème, tu peux utiliser une regex(expression régulière) pour choisir se que tu veux récupérer.

Voici un tutoriel sur les expressions régulière de Grafikart : http://www.grafikart.fr/tutoriels/expre ... guliere-86

Re: Lister un dossier en php et le trier

Posté : 03 août 2011, 11:58
par erraprod_ufm
opendir/readdir son des méthodes qui tendent à être obseletes, maintenant avec php5 il est plutôt recommandé de faire

Code : Tout sélectionner

<?php $dir = new DirectoryIterator("/home/XXXXX/public_html/test/directory "); foreach($dir as $directory) { echo $directory->getPathName(). "<br />"; } ?> source: http://www.lyxia.org/blog/developpement/php/manipulation-de-repertoires-en-php-735
Pour le tri tu peux mettre tous tes réulstats dans un tableau et utiliser http://php.net/manual/fr/function.sort.php

Re: Lister un dossier en php et le trier

Posté : 03 août 2011, 21:46
par Skw33d
Un sujet travaillé par AB qui pourrait t'intéresser car il correspond à ce que tu recherches et de manière très optimisé :wink:

php-avance/filesystemiterator-regexiter ... 59502.html