Steve TENZA
Intervient pour votre site internet
Facebook Me contacter Cookie
Télécharger
Noter:
4.1/5 (12)
Ajouté/Modifié le 2023-11-04
Visionné 34146 fois

Lister les fichiers d'un dossier en PHP (Exemples simples)

Description

Si vous cherchez un moyen simple et efficace d'afficher le contenu d'un dossier en PHP, vous êtes au bon endroit. Vous trouverez ici deux exemples pratiques pour accomplir cette tâche.

Avec scandir()

La méthode la plus élémentaire consiste à utiliser la fonction PHP native scandir(), qui vous permet d'explorer un dossier en spécifiant des conditions précises pour afficher uniquement les fichiers ou dossiers souhaités. Si vous souhaitez répertorier tout le contenu du dossier, vous pouvez utiliser le code suivant :
//Lister tout
$scandir = scandir("./nomDossier");
foreach($scandir as $fichier){
echo "$fichier<br>";
}

Avec DirectoryIterator

Il existe également la classe DirectoryIterator qui fournit une interface assez simple d'utilisation qui permet de lire le contenu d'un dossier.
$dossier = new DirectoryIterator("./");

foreach($dossier as $fichier){

// si c'est pas un "." ni ".."
if($fichier->isDot())
continue; // "continue" permet de passer à l'itération suivante

//si c'est pas un fichier
if($fichier->getType() != 'file')
continue;

//si c'est pas un dossier
// if($fichier->getType() != 'dir')
// continue;

//on affiche l'information du fichier parcouru
echo 'Nom du fichier : ' . $fichier->getFilename() . '<br>';
echo 'Nom du fichier (autre possibilité) : ' . $fichier . '<br>';
echo 'Extension : ' . $fichier->getExtension() . '<br>';
echo '<br>';

}

Lister des types de fichiers spécifiques

Cependant, si vous souhaitez afficher sélectivement certains fichiers en fonction de leurs extensions ou afficher uniquement les dossiers, vous pouvez explorer les trois exemples suivants pour personnaliser votre liste.

Explorez ces méthodes simples pour afficher les fichiers et dossiers d'un répertoire en PHP.

// "./" représente le dossier actuel où est exécuté le script, par exemple pour accéder au dossier "monDossier", mettez "./monDossier"
// vous pouvez également aller dans des sous répertoire en mettant "../" au lieu de "./"
$scandir = scandir("./");

//Lister toutes images ayant les extensions jpg, jpeg, png, gif, bmp et tif
foreach($scandir as $fichier){

if(preg_match("#\.(jpg|jpeg|png|gif|bmp|tif)$#i", $fichier)){

//la preg_match définie : \.(jpg|jpeg|png|gif|bmp|tif)$

//Elle commence par un point "." (doit être échappé avec anti-slash \ car le point veut dire "tous les caractères" sinon)

//"|" parenthèses avec des barres obliques dit "ou" (plusieurs possibilités : jpg ou jpeg ou png...)

//La condition "$" signifie que le nom du fichier doit se terminer par la chaîne spécifiée. Par exemple, un fichier nommé 'monFichier.jpg.php' ne sera pas accepté, car il ne se termine pas par '.jpg', '.jpeg', '.png' ou toute autre extension souhaitée.

echo "$fichier<br>";
}
}

// Parcourir le contenu des dossiers en PHP en énumérant tous les fichiers et dossiers, à l'exception des chemins vers le dossier actuel et les sous-dossiers.
foreach($scandir as $fichier){

if(is_dir($fichier) and $fichier != '.' and $fichier != '..'){
// Si $fichier est un dossier, PHP le reconnaît comme tel et l'affiche en tant que dossier. Cela inclut le dossier actuel représenté par un seul point "." et le sous-dossier représenté par deux points "..".

echo "$fichier<br>";
}
}

//Lister tous les fichier comportant l'extension .php
foreach($scandir as $fichier){

if(substr(strtolower($fichier), -4, 4) == '.php'){
//substr permet de prendre une seule partie de ce qu'on lui donne, en l’occurrence, on demande de prendre seulement 4 caractères en partant de -4, ce qui donne les 4 derniers caractères
//exemple avec une extension plus grande:
//if(substr(strtolower($fichier), -5, 5) == '.html')

echo "$fichier<br>";
}
}


J'espère que ce script gratuit vous est utile.
Pour soutenir mon travail, un simple don ou mettre une note est grandement apprécié.
Votre réussite en ligne commence ici

Vous cherchez à pousser encore plus loin vos idées ou à les concrétiser avec un site internet sur mesure ? Je suis là pour vous aider ! Mon expérience en développement web est à votre disposition.

Que ce soit la création de votre site web pro ou l'apport de fonctionnalités avancées à votre projet, contactez-moi pour en discuter et avoir un devis gratuit personnalisé.

Mon objectif est de vous offrir des solutions sur mesure qui répondent à vos besoins, et votre vision associée à mon expertise donnera vie à votre projet web parfait. Contactez-moi aujourd'hui, je réponds en général en moins d'une heure :

Demander un devis
Réponse rapide !

Vous recherchez un script précis ?

Dites-moi ce dont vous avez besoin, je peux développer le script demandé et vous envoyer un mail dès qu'il est dispo !

🔔 Vous pouvez laisser votre mail pour recevoir les nouveaux scripts. Pas de pub, pas de tracas. Vous êtes libre de le supprimer à tout moment.

Je prends en compte toutes les demandes. Les idées les plus populaires passent en priorité et seront publiées dès qu'elles seront prêtes. 2856 demandes reçues.

Si vous avez un projet en tête, je vous suggère de me contacter directement pour en discuter.

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom
Email
Message
Captcha
memo2
Commenter

Diomos59 le 15 Décembre 2022 à 18:31

Bonjour ou Bonsoir,
J'ai testé certains codes et cela fonctionne très bien.
Je ne sais pas à quoi cela va me servir, mais je garde le tout sous le coude, au cas où !
Merci beaucoup;
Cordialement,
Diomos59

admin le 15 Décembre 2022 à 21:36

Merci !!

Retour à la liste des scripts

Un site à créer ?
Contactez-moi