我一开始也想到用递归,呵呵。

解决方案 »

  1.   

    看看”帅的像人渣“写的函数  function  CopyDirectory($dir_s,  $dir_d)
        {
         $dir_s =  realpath($dir_s);     if(!is_dir($dir_s))  return;
         
         if(!is_dir($dir_d))  mkdir($dir_d);
         
         if($dir_s[strlen($dir_s)]  !=  DIRECOTRY_SEPARATOR)  $dir_s  .=  DIRECTORY_SEPARATOR;
         if($dir_d[strlen($dir_d)]  !=  DIRECOTRY_SEPARATOR)  $dir_d  .=  DIRECTORY_SEPARATOR;
         
         $hDir_s  =  opendir($dir_s);
         $hDir_d  =  opendir($dir_d);
         
         while($file  =  readdir($hDir_s))
         {
         if($file  !=  '.'  &&  $file  !=  '..')
         {
         if(is_dir($dir_s  .  $file)  &&  !is_link($dir_s  .  $file))
         {
         CopyDirectory($dir_s  .  $file,  $dir_d  .  $file);
         }
         else
         {
         copy($dir_s  .  $file,  $dir_d  .  $file);
         }
         }
         }
         
         closedir($hDir_s);
         closedir($hDir_d);     
        }