2011-06-29 15 views
3

指定したディレクトリ内のすべてのサブディレクトリを削除するにはどうすればよいですか?PHPの特定ディレクトリ内のすべてのサブディレクトリを削除しますか?

ディレクトリc:/files/

であると私は彼ら(例)内のすべてのサブディレクトリを削除する:

c:/files/something/something/something/ 

c:/files/another-something/ 

だから、最後のCで:/ファイル/だけ(のまま空であり、サブディレクトリを持っていません)。

rmdir()は、指定されたパスの最後のディレクトリのみを削除します...私はループしなければならないと思いますか? :/

すべてのお役に立ちました。

答えて

4

PHP manual entry for rmdirから撮影:

function rrmdir($dir) { 
    if (is_dir($dir)) { 
    $objects = scandir($dir); 
    foreach ($objects as $object) { 
     if ($object != "." && $object != "..") { 
     if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); 
     } 
    } 
    reset($objects); 
    rmdir($dir); 
    } 
} 

これは、再帰を使用して問題を解決します。

-1

を(PSサブディレクトリにファイルが含まれていない)私はあなたがたとえば、次のコマンドは、ディレクトリC:\blahとそこに含まれるすべてのサブディレクトリとファイルを削除しますRMDIR /S

を探していると思います。プロンプトは表示されません。

RMDIR c:\blah /s /q

関連する問題