3

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

ディレクトリはc:/files/

(例)内のすべてのサブディレクトリを削除したい:

c:/files/something/something/something/

c:/files/another-something/

したがって、最終的にc:/ files /はそのまま残ります(空で、サブディレクトリはありません)。

rmdir()指定されたパスの最後のディレクトリのみを削除します...だから、ループする必要があると思いますか?:/

すべての助けに感謝します。

(追記:サブディレクトリにはファイルが含まれていません)

4

2 に答える 2

4

rmdirのPHPマニュアルエントリから取得

 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); 
   } 
 }

これにより、再帰を使用して問題が解決されます。

于 2011-06-29T19:35:47.450 に答える
-1

私はあなたが探していると思いますRMDIR /S

たとえば、次のコマンドは、ディレクトリC:\blahとそれに含まれるすべてのサブディレクトリとファイルを削除します。プロンプトは表示されません。

RMDIR c:\blah /s /q

于 2011-06-29T19:33:26.800 に答える