![](/img/trans.png)
[英]Recursively chmod/chown/chgrp all files and folder within a directory
[英]Recursively Search within a directory for all folder paths
我试图递归地在目录中搜索子目录的任何目录中的所有子目录。 基本上所有文件夹都从根目录开始,我需要将文件复制到找到的所有文件夹以及主根文件夹中。 我怎样才能做到这一点?
这是我到目前为止的内容,但是它需要完全递归,以便获取该根目录中的所有文件夹,子目录中的文件夹以及该目录中的文件夹,进行无休止的搜索,直到不再有其他文件夹为止。
@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);
使用RecursiveDirectoryIterator
和标准PHP库( docs )中的朋友,仅需目录的文件系统上的RecursiveDirectoryIterator
就非常容易。
一个基本的例子看起来像
$directories = new RecursiveIteratorIterator(
new ParentIterator(new RecursiveDirectoryIterator($directory_to_iterate)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($directories as $directory) {
// Do your work here
}
为了满足您的特殊需求, // Do your work here
在以下代码段中// Do your work here
即可。
copy($extendedVars['dir'] . '/index.php', $directory . '/index.php');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.