我有这个简单的下面的代码来帮助我获取所有文件和子文件夹的内容。我从PHP烹饪书中获取了这段代码。它说我可以使用isDot(),但它没有解释如何...
我尝试在数组之前放置一个if但它不起作用...
if (! $file->isDot())
我不知道在添加到数组时如何同时放入getPathname和isDot。
我已经阅读过PHP网站,但不明白如何适应。
代码:
$dir = new RecursiveDirectoryIterator('/usr/local');
$dircontent = array();
foreach (new RecursiveIteratorIterator($dir) as $file) {
$dircontent [] = $file -> getPathname();
}
print_r($dircontent);
答案 0 :(得分:1)
使用FilesystemIterator::SKIP_DOTS
中的RecursiveDirectoryIterator
标记删除点文件:
$dir = '/usr/local';
$result = array();
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator(
$dir,
FilesystemIterator::SKIP_DOTS
)
);
foreach ($files as $file) {
$result[] = $file->getPathname();
}
print_r($result);
isDot()
失败的原因是您的$file
变量包含SplFileInfo
个对象,而不是DirectoryIterator
。