更新时间:2023-11-09 13:44:16
虽然andreas的答案可能有效,但你也可以让PHP 5的 RecursiveDirectoryIterator 为您工作并使用更多OOP方法。
While andreas' answer probably works, you can also let PHP 5's RecursiveDirectoryIterator do that work for you and use a more OOP approach.
这是一个简单的例子:
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path));
while ($it->valid())
{
if ($it->isDot())
continue;
$file = $it->current();
if (self::is_image($file->pathName))
{
$files[] = $file->pathName;
}
$it->next();
}
编辑:
或者,可以尝试这(从Zend_Translate_Adapter复制):
Alternatively, you could try this (copied from Zend_Translate_Adapter):
$it = new RecursiveIteratorIterator(
new RecursiveRegexIterator(
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::KEY_AS_PATHNAME),
'/^(?!.*(\.svn|\.cvs)).*$/', RecursiveRegexIterator::MATCH
),
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($it as $dir => $info)
{
var_dump($dir);
}
干杯
克里斯