例如:

  现有文件夹为:

    /abc

          /a

             /b.xxx

         /c.xxx

实现将abc复制到xyz

  实现结果如下

    /xyz

          /a

             /b.xxx

         /c.xxx

 

/**
 * 将一个文件夹下的所有文件及文件夹
 * 复制到另一个文件夹里(保持原有结构)
 *
 * @param <string> $rootFrom 需要复制的文件夹路径(最好为绝对路径)
 * @param <string> $rootTo 需要复制的文件夹路径(最好为绝对路径)
 */
function cp_files($rootFrom,$rootTo){
 $handle=opendir($rootFrom);
 while(false  !== ($file = readdir($handle))){
  //DIRECTORY_SEPARATOR 为系统的文件夹名称的分隔符 例如:windos为'/'; linux为'/'
  $fileFrom=$rootFrom.DIRECTORY_SEPARATOR.$file;
  $fileTo=$rootTo.DIRECTORY_SEPARATOR.$file;
  if($file=='.' || $file=='..'){   continue;}
  if(is_dir($fileFrom)){
   mkdir($fileTo,0777);
   cp_files($fileFrom,$fileTo);
  }else{
   @copy($fileFrom,$fileTo);
  }
 }
}
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐