Пример #1
0
 /**
  * 移动文件夹
  *
  * @param string $oldDir
  * @param string $aimDir
  * @param boolean $overWrite 该参数控制是否覆盖原文件
  * @return boolean
  */
 function moveDir($oldDir, $aimDir, $overWrite = false)
 {
     $aimDir = str_replace('', '/', $aimDir);
     $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir . '/';
     $oldDir = str_replace('', '/', $oldDir);
     $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir . '/';
     if (!is_dir($oldDir)) {
         return false;
     }
     if (!file_exists($aimDir)) {
         UtilFile::createDir($aimDir);
     }
     @($dirHandle = opendir($oldDir));
     if (!$dirHandle) {
         return false;
     }
     while (false !== ($file = readdir($dirHandle))) {
         if ($file == '.' || $file == '..') {
             continue;
         }
         if (!is_dir($oldDir . $file)) {
             UtilFile::moveFile($oldDir . $file, $aimDir . $file, $overWrite);
         } else {
             UtilFile::moveDir($oldDir . $file, $aimDir . $file, $overWrite);
         }
     }
     closedir($dirHandle);
     return rmdir($oldDir);
 }