我正在考虑使用RecursiveIteratorIterator来显示“top-directories”,在我的示例布局和puffar中,但我无法让它工作。结构如下:
| images |
=> layout
=>lab
=> puffar
,结果是
layout
layout
layout
layout/lab
layout/lab
puffar
puffar
$directory = 'images';
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory));
while($it->valid()) {
if (!$it->isDot()) {
echo $it->getSubPath() . "\n";
}
$it->next();
}
我无法工作的另一件事是我将目录路径更改为
$directory = 'newsletter.site.se/images';
它没有显示任何内容。 如果有人可以帮助我,那将是幻想。谢谢琳达
答案 0 :(得分:2)
如果您只想显示顶级目录,是否真的需要RecursiveDirectoryIterator
?
相反,您可以使用:
<?php
foreach (new DirectoryIterator('.') as $entry) {
if (!$entry->isDot() && $entry->isDir()) {
echo $entry, '<br />';
}
}
如果您想要所有目录,请尝试:(例如)
<?php
$it = new RecursiveIteratorIterator(new RecursiveDirectoryIterator('.'), RecursiveIteratorIterator::SELF_FIRST);
foreach ($it as $entry) {
if ($entry->isDir()) {
echo $entry, '<br />';
}
}
关于你的第二个问题,你有没有检查过这条路径是否正确且可读?