php将文件复制到所有文件夹

php将文件复制到所有文件夹,php,directory,Php,Directory,嗨,我想把一个文件复制到一个目录中的所有文件夹 我的根文件夹树是 我想将根文件夹中的文件复制到每个目标文件夹 文件夹结构是 由于您有一个静态文件夹结构,我建议将不同的子文件夹存储在一个数组中,然后循环到文件中 正如Aaron W.建议的那样 还用于获取递归路径(folder1、folder2…) 我把这段代码和文件放在同一个文件夹中,并把它放在与folder1、folder2相同的根路径中 $rootpath = ".."; $frompath = "."; $file = '/example.

嗨,我想把一个文件复制到一个目录中的所有文件夹

我的根文件夹树是

我想将根文件夹中的文件复制到每个目标文件夹

文件夹结构是


由于您有一个静态文件夹结构,我建议将不同的子文件夹存储在一个数组中,然后循环到文件中

正如Aaron W.建议的那样 还用于获取递归路径(folder1、folder2…) 我把这段代码和文件放在同一个文件夹中,并把它放在与folder1、folder2相同的根路径中

$rootpath = "..";
$frompath = ".";
$file = '/example.txt';
$tosubpath="/Subfolder1/AnotherSubFolder/Target/";
$copyfrom = $frompath . $file;

listdirs($rootpath,$copyfrom,$tosubpath,$file);


    function listdirs($dir,$copyfrom,$tosubpath,$file) {
        $dirs = glob($dir . '/*', GLOB_ONLYDIR);

    foreach($dirs as $destpath)
    {   

        $copyto = $destpath. $tosubpath . $file;
        if (!copy($copyfrom, $copyto)) {
            echo "failed to copy ".$copyfrom." to".$copyto."<br>";
        }else{
            echo $copyfrom." copied to".$copyto."<br>";
        }
    }
}
$rootpath=“…”;
$frompath=“.”;
$file='/example.txt';
$tosubpath=“/Subfolder1/AnotherSubFolder/Target/”;
$copyfrom=$frompath$文件
listdirs($rootpath、$copyfrom、$tosubpath、$file);
函数listdirs($dir、$copyfrom、$tosubpath、$file){
$dirs=glob($dir./*',glob_ONLYDIR);
foreach($dirs作为$destpath)
{   
$copyto=$destpath.$tosubpath.$file;
如果(!复制($copyfrom,$copyto)){
echo“未能将“$copyfrom.”复制到“$copyto.”
”; }否则{ 回显$copyfrom.“复制到”$copyto.“
”; } } }
如果文件夹结构是动态的还是静态的?循环遍历文件夹和子文件夹。如果文件夹是您想要的类型(您没有指定如何找到它。可能是通过名称?),请复制该文件。如果没有,请跳过。到目前为止您尝试了什么?在你们提问之前,请先试一下你们自己。你的代码在哪里@aaron W:foder stucture是静态的在这里查找一些示例:谢谢你的回答。。我有100多个文件夹。。最好找到另一种方法。如果文件夹结构有一种模式,你可以用代码生成所有文件夹名称…否则,不。我只是在尝试,在成功使用该代码后将发布代码
$rootpath = "..";
$frompath = ".";
$file = '/example.txt';
$tosubpath="/Subfolder1/AnotherSubFolder/Target/";
$copyfrom = $frompath . $file;

listdirs($rootpath,$copyfrom,$tosubpath,$file);


    function listdirs($dir,$copyfrom,$tosubpath,$file) {
        $dirs = glob($dir . '/*', GLOB_ONLYDIR);

    foreach($dirs as $destpath)
    {   

        $copyto = $destpath. $tosubpath . $file;
        if (!copy($copyfrom, $copyto)) {
            echo "failed to copy ".$copyfrom." to".$copyto."<br>";
        }else{
            echo $copyfrom." copied to".$copyto."<br>";
        }
    }
}