目录中每个文件的循环代码

我有一个图片的目录,我想通过循环,并做一些文件计算。 它可能只是缺乏睡眠,但我怎样才能使用PHP来查看给定的目录,并使用某种for循环遍历每个文件?

谢谢!

scandir :

$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"; } 

recursion版本是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 />"; } 

在foreach循环中使用glob函数来执行任何选项。 在下面的例子中,我还使用了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!'; }