php rmdirは再帰関数を使って空ではないディレクトリのインスタンスを削除します。


まず、rmdir関数を紹介します。
php rmdir()関数
rmdir-空のディレクトリを削除します。
構文:
book rmdir(string$dirname[resource]
dirnameで指定されたディレクトリを削除します。このディレクトリは空でなければなりません。適切な権限が必要です。失敗するとE_が発生します。WARNINGレベルのエラー。
パラメータ:
1.dirname:ディレクトリのパス。
2.context:PHP 5.00にコンテキスト(Conttext)へのサポートが追加されました。
php rmdir()空でないディレクトリを削除します。
上記のように、rmdir()関数は空のディレクトリしか削除できません。空でないディレクトリであれば、先にディレクトリに入る必要があります。unlink関数を使ってディレクトリの中のすべてのファイルを削除してから、この空のディレクトリを削除します。ディレクトリにサブディレクトリが存在し、ディレクトリも空でない場合は、再帰的な方法が必要です。再帰関数を指定してディレクトリのソースコードを削除します。

<?php
function delDir($directory){//              
  if(file_exists($directory)){//        ,     rmdir()     
    if($dir_handle=@opendir($directory)){//          ,       
      while($filename=readdir($dir_handle)){//    ,            
        if($filename!='.' && $filename!='..'){//            
          $subFile=$directory."/".$filename;//              
          if(is_dir($subFile)){//          
            delDir($subFile);//           
          }
          if(is_file($subFile)){//          
            unlink($subFile);//        
          }
        }
      }
      closedir($dir_handle);//      
      rmdir($directory);//     
    }
  }
}

delDir("mydir");//  delDir  

?>

再帰的に空でないディレクトリを削除する場合は、オペレーティングシステムコマンド「rm-rf」を使って空でないディレクトリを削除することもできますが、安全とクロスプラットフォームの面から、なるべく使わないようにします。
読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。