您的位置:首页 > 编程语言 > PHP开发

php复制文件夹以及文件夹里的所有文件

2011-05-11 09:02 274 查看
递归复制目录 的二种写法

<?php   //*   //* 函数名:copyDir   //* 功 能:递归复制目录   //* 参 数: $dirFrom 源目录名   //* $dirTo 目标目录名   //* 返回值: 无   //*    $dirFrom = "a" ;   $dirTo = "1a" ;  copyDir($dirFrom,$dirTo);  function copyDir($dirFrom,$dirTo)  {      //如果遇到同名文件无法复制,则直接退出      if(is_file($dirTo)){          echo("无法建立目录 $dirTo");      }      //如果目录不存在,则建立之       if(!file_exists($dirTo)){          mkdir($dirTo);      }            $handle = opendir($dirFrom); //打开当前目录       readdir($handle); //排除"."       readdir($handle); //排除 ".."             //循环读取文件       while (false !== ($file = readdir($handle))) {          //生成源文件名           $fileFrom = $dirFrom . DIRECTORY_SEPARATOR .$file;       //生成目标文件名           $fileTo = $dirTo .DIRECTORY_SEPARATOR .$file;                    if(is_dir($fileFrom)){ //如果是子目录,则进行递归操作               copyDir($fileFrom,$fileTo);          } else { //如果是文件,则直接用copy函数复制               @copy($fileFrom,$fileTo);          }      }  }   //测试   ?>
[/code]
$from_dir="a";  $to_dir="1a";  if(is_dir($to_dir)){   echo("已经备份过");  }  elseif(xCopy($from_dir,$to_dir,1)){      echo '备份完成';    }  function xCopy($source, $destination, $child){      //用法:      // xCopy("feiy","feiy2",1):拷贝feiy下的文件到 feiy2,包括子目录      // xCopy("feiy","feiy2",0):拷贝feiy下的文件到 feiy2,不包括子目录       if(!is_dir($source)){      echo("源文件不存在");      return 0;      }      if(!is_dir($destination)){      echo("已经备份过");      return 0;      }      if(!is_dir($destination)){      mkdir($destination,0777);      }      $handle=dir($source);      while($entry=$handle->read()) {          if(($entry!=".")&&($entry!="..")){              if(is_dir($source."/".$entry)){                  if($child)    xCopy($source."/".$entry,$destination."/".$entry,$child);              }else{                  copy($source."/".$entry,$destination."/".$entry);              }          }      }      return true;  }
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐