PHP RecursiveIteratorIterator
кажется, делает мой сайт очень медленно на каждом запросе браузера.
Любые другие варианты я могу использовать вместо RecursiveIteratorIterator
?
Или, возможно, что-то не так в моем коде ниже для использования RecursiveIteratorIterator
?
$mainDirectories = [
'local/app/',
'local/ioc/',
'local/controller/',
'local/model/',
'local/helper/'
]
foreach($mainDirectories as $pathDirectory)
{
$iterator = new RecursiveIteratorIterator
(
new RecursiveDirectoryIterator($pathDirectory),
RecursiveIteratorIterator::SELF_FIRST
);
foreach ($iterator as $fileObject)
{
if ($fileObject->isDir())
{
// Replace any backslash to '/'.
$pathnameReplace = str_replace('\\', '/', $fileObject->getPathname());
//print_r($pathnameReplace);
// Explode the folder path.
$array = explode("/",$pathnameReplace);
// Get the actual folder.
$folder = end($array);
//print_r($folder);
// Stop proccessing if the folder is a dot or double dots.
if($folder === '.' || $folder === '..') {continue;}
//var_dump($fileObject->getPathname());
}
}
}
Этот код предназначен для перечисления подкаталогов в каждом из основных каталогов. Например,
В ‘local / model /’ есть sub dirs,
article/
nav/
Так что результат будет,
array (size=2)
0 => string 'local/model/article/' (length=19)
1 => string 'local/model/nav/' (length=15)
и так далее.
Задача ещё не решена.
Других решений пока нет …