コード例 #1
0
ファイル: files.php プロジェクト: rigidus/ea
 function fullRemoveDir($dirname)
 {
     if (self::$rmdir_index) {
         self::$rmdir_index = false;
         self::$rmdir = $dirname;
     }
     if (!file_exists($dirname)) {
         return false;
     }
     if ($dirHandle = opendir($dirname)) {
         $old_cwd = getcwd();
         chmod($dirname, 0777);
         chdir($dirname);
         while ($file = readdir($dirHandle)) {
             if ($file == '.' || $file == '..') {
                 continue;
             }
             if (is_dir($file)) {
                 if (!self::fullRemoveDir($file)) {
                     return false;
                 }
             } else {
                 chmod($file, 0777);
                 if (!unlink($file)) {
                     return false;
                 }
             }
         }
         closedir($dirHandle);
         chdir($old_cwd);
         if (self::$rmdir != $dirname) {
             if (!rmdir($dirname)) {
                 return false;
             }
         }
         return true;
     } else {
         return false;
     }
 }