1. 再帰的方法: 再帰を使用してレイヤーごとに削除します。
コードをコピー コードは次のとおりです:
deleteDir($dir)
{
if (rmdir ($dir)==false && is_dir($dir)) {
if ($dp = opendir($dir)) {
while (($file=readdir($dp)) != false) {
if (is_dir($file) && $file!='.' && $file!='..') {
deleteDir($file)
} else {
unlink($ file);
}
}
Closedir($dp); 2. システムコールメソッド
コードをコピー
if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { $str = "rmdir /s/q " .$dir ; } else { $str = "rm -Rf " .$dir; >} }
3. ラウンドロビン方式
コードをコピーします
コードは次のとおりです。以下のように:
function deltree($pathdir)
{
echo $pathdir;//デバッグに使用
if(is_empty_dir($pathdir))//空の場合
{
rmdir($pathdir); //直接削除
}
else
{//それ以外の場合は、 . と .. を除いて、このディレクトリを読み取ります。
$d=dir($pathdir); > while($a=$d->read())
{ if(is_file($pathdir.'/'.$a) && ($a!='.') && ( $a!=' ..')){unlink($pathdir.'/'.$a); $a) && ($a!='.') && ($a!='..')) a))//空ですか?
if(is_empty_dir($pathdir.'/'.$a))
{//空の場合は直接削除します
rmdir($pathdir.'/' .$a);
}
function is_empty_dir($pathdir)
{
//ディレクトリが空かどうかを判定
$d=opendir($pathdir); 🎜>$i=0;
while($a =readdir($d))
}