Shell命令将目录复制到另一个位置

时间:2011-12-17 09:17:53

标签: php bash shell

在我的Web应用程序中,我必须将目录及其所有内容复制到另一个位置。 我想使用PHP的shell_exec函数。但我找不到那个命令。

3 个答案:

答案 0 :(得分:7)

您可以使用:

cp -r source dest

复制源内的源和源的所有内容。

答案 1 :(得分:3)

更准确地定义“位置”。无论如何:

  • 如果目录是本地的:cp -r sourcedir destdir;
  • 如果是远程的,请使用scp:scp -r sourcedir user@targetmachine:destdir

答案 2 :(得分:2)

PHP手册有一个copy function页面,您可以在其中找到许多递归目录复制的配方。这是一个改编的食谱:

function recurse_copy($srcdir, $dstdir) {
    $dir = opendir($srcdir);
    @mkdir($dstdir);
    while ($file = readdir($dir)) {
        if ($file != '.'  && $file != '..') {
            $src = $srcdir . '/' . $file;
            $dst = $dstdir . '/' . $file;
            if (is_dir($src)) { 
                recurse_copy($src, $dst); 
            } else { 
                copy($src, $dst); 
            }
        }
    }
    closedir($dir);
}