php の rmdir はディレクトリが空っぽでなければ、ディレクトリを削除できません。 再帰的にディレクトリ内のファイルを削除して、ディレクトリを削除してくれるような書き方はこんな感じで良さそうです。 function rmdir_all($dir) { if (!file_exists($dir)) { return; } $dhandle = opendir($dir); if ($dhandle) { while (false !== ($fname = readdir($dhandle))) { if (is_dir( "{$dir}/{$fname}" )) { if (($fname != '.') && ($fname != '..')) { $this->rmdir_all("$dir/$fname"); } } else { unlink("{$dir}/{$fname