我使用php递归列出文件夹中的所有文件:
<?php
$it = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($it) as $file)
{
echo $file . "<br/> \n";
}
但是我希望这个脚本只列出* .json文件而不是所有文件。我怎样才能做到这一点?
非常感谢你的帮助。
答案 0 :(得分:1)
您可以使用->getExtension()
方法在foreach中查看:
$it = new RecursiveDirectoryIterator(".");
foreach(new RecursiveIteratorIterator($it) as $file) {
if($file->getExtension() == 'json') { // add a condition here
echo $file . "<br/> \n";
}
}
答案 1 :(得分:1)
因为多样性:
$rdi = new RecursiveDirectoryIterator('.');
$rii = new RecursiveIteratorIterator($rdi);
$ri = new RegexIterator($rii, '/^.+\.zzz$/i', RecursiveRegexIterator::GET_MATCH);
foreach ($ri as $file) { ... }
$ ri将为每个.zzz文件包含一个索引数组。