J'ai un répertoire d'images que je veux parcourir et faire des calculs de fichiers. C'est peut-être juste un manque de sommeil, mais comment pourrais-je utiliser PHP pour regarder dans un répertoire donné et passer en boucle dans chaque fichier en utilisant une sorte de boucle for?
Merci!
Découvrez la classe DirectoryIterator .
À partir d'un des commentaires sur cette page:
// output all files and directories except for '.' and '..'
foreach (new DirectoryIterator('../moodle') as $fileInfo) {
if($fileInfo->isDot()) continue;
echo $fileInfo->getFilename() . "<br>\n";
}
La version récursive est RecursiveDirectoryIterator .
Cherche la fonction glob () :
<?php
$files = glob("dir/*.jpg");
foreach($files as $jpg){
echo $jpg, "\n";
}
?>
Essayez GLOB ()
$dir = "/etc/php5/*";
// Open a known directory, and proceed to read its contents
foreach(glob($dir) as $file)
{
echo "filename: $file : filetype: " . filetype($file) . "<br />";
}
Utilisez la fonction glob dans une boucle foreach pour faire ce qui est une option. J'ai également utilisé la fonction file_exists dans l'exemple ci-dessous pour vérifier si le répertoire existe avant d'aller plus loin.
$directory = 'my_directory/';
$extension = '.txt';
if ( file_exists($directory) ) {
foreach ( glob($directory . '*' . $extension) as $file ) {
echo $file;
}
}
else {
echo 'directory ' . $directory . ' doesn\'t exist!';
}