Comment obtenir les noms de fichiers dans un répertoire en utilisant PHP?
Je ne pouvais pas trouver la commande appropriée à l'aide de Google. J'espère donc que cette question aidera ceux qui s'en iront de la même manière.
Comment obtenir les noms de fichiers dans un répertoire en utilisant PHP?
Je ne pouvais pas trouver la commande appropriée à l'aide de Google. J'espère donc que cette question aidera ceux qui s'en iront de la même manière.
Il y a beaucoup de façons. L'ancienne façon est - scandir
mais DirectoryIterator
est probablement la meilleure façon.
Il y a aussi readdir
(pour être utilisé avec opendir
) et glob
.
Voici quelques exemples sur la façon de les utiliser pour imprimer tous les fichiers dans le répertoire courant:
DirectoryIterator
d'utilisation: (recommandé)foreach (new DirectoryIterator('.') as $file) {
if($file->isDot()) continue;
print $file->getFilename() . '<br>';
}
scandir
d'utilisation:$files = scandir('.');
foreach($files as $file) {
if($file == '.' || $file == '..') continue;
print $file . '<br>';
}
opendir
et readdir
d'utilisation:if ($handle = opendir('.')) {
while (false !== ($file = readdir($handle))) {
if($file == '.' || $file == '..') continue;
print $file . '<br>';
}
closedir($handle);
}
glob
d'utilisation:foreach (glob("*") as $file) {
if($file == '.' || $file == '..') continue;
print $file . '<br>';
}
Comme mentionné dans les commentaires, glob
, c'est agréable car l'astérisque j'ai utilisé il peut en effet être utilisé pour faire des matchs sur les fichiers, glob('*.txt')
vous obtiendrez tous les fichiers texte dans le dossier et glob('image_*')
vous obtiendrez tous les fichiers qui commencent par image_
L'ancienne manière serait:
<?php
$path = realpath('.'); // put in your path here
$dir_handle = @opendir($path) or die("Unable to open $path");
$directories = array();
while ($file = readdir($dir_handle))
$directories[] = $file;
closedir($dir_handle);
?>
Comme déjà mentionné, l’itérateur de répertoire pourrait être le meilleur moyen pour PHP 5.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.