SoL*_*oST 1 php directory-structure
我试图以递归方式在目录中搜索子目录的任何目录中的所有子目录.基本上所有文件夹都从根目录开始,我需要将文件复制到找到的所有文件夹以及主根文件夹中.我怎样才能做到这一点?
这是我到目前为止所拥有的,但它需要完全递归,以便它获取该根目录中的所有文件夹,以及sub中的文件夹,以及其中的内容,无休止的搜索,直到没有更多的文件夹...
@copy($extendVars['dir'] . '/index.php', $real_extendpath . '/index.php');
$dh = @opendir($real_extendpath);
while (false !== ($obj = readdir($dh)))
{
if ($obj == '.' || $obj == '..')
continue;
if (is_dir($real_extendpath . '/' . $obj))
@copy($extendVars['dir'] . '/index.php', $real_extendpath . '/' . $obj . '/index.php');
}
closedir($dh);
Run Code Online (Sandbox Code Playgroud)
使用RecursiveDirectoryIterator标准PHP库(docs)中的朋友,可以非常轻松地对文件系统中的目录进行递归.
一个基本的例子看起来像
$directories = new RecursiveIteratorIterator(
new ParentIterator(new RecursiveDirectoryIterator($directory_to_iterate)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($directories as $directory) {
// Do your work here
}
Run Code Online (Sandbox Code Playgroud)
根据您的特殊需求,// Do your work here可以像下面的代码片段一样简单.
copy($extendedVars['dir'] . '/index.php', $directory . '/index.php');
Run Code Online (Sandbox Code Playgroud)