Код цикла для каждого файла в каталоге

У меня есть каталог изображений, которые я хочу выполнить, и выполнить некоторые вычисления файлов. Это может быть просто недостаток сна, но как я могу использовать PHP для поиска в заданном каталоге и прокручивать каждый файл, используя какой-то цикл?

Благодаря!

Solutions Collecting From Web of "Код цикла для каждого файла в каталоге"

Скандир :

$files = scandir('folder/'); foreach($files as $file) { //do your work here } 

или glob может быть еще лучше для ваших нужд:

 $files = glob('folder/*.{jpg,png,gif}', GLOB_BRACE); foreach($files as $file) { //do your work here } 

Проверьте класс DirectoryIterator .

Из одного из комментариев на этой странице:

 // output all files and directories except for '.' and '..' foreach (new DirectoryIterator('../moodle') as $fileInfo) { if($fileInfo->isDot()) continue; echo $fileInfo->getFilename() . "<br>\n"; } 

Рекурсивная версия – RecursiveDirectoryIterator .

Ищет функцию glob () :

 <?php $files = glob("dir/*.jpg"); foreach($files as $jpg){ echo $jpg, "\n"; } ?> 

Попробуйте 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 />"; } 

Используйте функцию glob в цикле foreach, чтобы сделать все возможное. Я также использовал функцию file_exists в приведенном ниже примере, чтобы проверить, существует ли каталог, прежде чем идти дальше.

 $directory = 'my_directory/'; $extension = '.txt'; if ( file_exists($directory) ) { foreach ( glob($directory . '*' . $extension) as $file ) { echo $file; } } else { echo 'directory ' . $directory . ' doesn't exist!'; }