+-
将所有文件和文件夹从一个目录复制到另一目录PHP
我有一个名为“ mysourcedir”的目录,它具有音素文件和文件夹.所以我想使用 PHP将所有内容从此目录复制到Linux服务器上的其他“目标文件夹”中.

function full_copy( $source, $target ) {
if ( is_dir( $source ) ) {
    @mkdir( $target );
    $d = dir( $source );
    while ( FALSE !== ( $entry = $d->read() ) ) {
        if ( $entry == '.' || $entry == '..' ) {
            continue;
        }
        $Entry = $source . '/' . $entry; 
        if ( is_dir( $Entry ) ) {
            $this->full_copy( $Entry, $target . '/' . $entry );
            continue;
        }
        copy( $Entry, $target . '/' . $entry );
    }

    $d->close();
}else {
    copy( $source, $target );
}
}

我正在尝试此代码,但确实存在一些问题,它在目标位置创建目录“ mysourcedir”.我希望仅将所有文件和文件夹复制到目标位置.请建议

最佳答案
class FolderCopy {


  public static function copyFolder($src, $dest) {

    $path = realpath($src);
    $objects = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path), RecursiveIteratorIterator::SELF_FIRST);

      /** SplFileInfo $object*/
    foreach($objects as $name => $object)
    {
      $startsAt = substr(dirname($name), strlen($src));
      self::mkDir($dest.$startsAt);
      if(is_writable($dest.$startsAt) and $object->isFile())
      {
          copy((string)$name, $dest.$startsAt.DIRECTORY_SEPARATOR.basename($name));
      }
    }
  }

  private static function mkDir($folder, $perm=0777) {
    if(!is_dir($folder)) {
      mkdir($folder, $perm);
    }
  }

}

FolderCopy :: copyFolder(dirname(dirname(FILE)).“ / images”,dirname(FILE).“ / test”);

这是我的建议.

点击查看更多相关文章

转载注明原文:将所有文件和文件夹从一个目录复制到另一目录PHP - 乐贴网