ホームページ >バックエンド開発 >PHPチュートリアル >php_PHP チュートリアルで複数レベルのディレクトリを削除する方法

php_PHP チュートリアルで複数レベルのディレクトリを削除する方法

WBOY
WBOYオリジナル
2016-07-13 17:23:321243ブラウズ

昨日、ディレクトリを削除する方法を尋ねる投稿 (chinaasp) を目にしました。これまでは常に可能でしたが、昨日は問題が発生し、下位レベルのファイルを削除してから

ディレクトリを削除したことが判明しました。さらにいくつかのレベルがある場合は、問題が発生するでしょう。

私のこれは一時的にしか使用できません。ディレクトリが 10 レベルを超えていない場合は問題ないはずですが、再帰については詳しくないので

deltree($path);rmdir($) しかできません。 path) このディレクトリを削除するには、deltree($path); で直接このディレクトリを削除できますか? ?

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);}
//ファイルの場合は削除します直接
if(is_dir($pathdir./.$a) && ($a!=.) && ($a!=..))
{//ディレクトリの場合
if(!is_empty_dir($pathdir. /.$a ))//空ですか
{//そうでない場合は、元のパスとその下位ディレクトリ名だけを呼び出します
deltree($pathdir./.$a)
}
if(is_empty_dir) ($pathdir. /.$a))
{// 空の場合は、直接削除します
rmdir($pathdir./.$a)
}
}
}
$d->close();
echo "最初に削除する必要があります。ディレクトリ内のすべてのファイル";//デバッグ時に使用するもの

}


}

function is_empty_dir($pathdir)
{//私の方法はあまりよくありませんBar ディレクトリが空かどうかを判断するのに適していますか? . と .. 以外に空でないものがあるかどうかを確認するには、PHP には

関数が用意されていますか?
$d=opendir($pathdir);
$i=0;
{
$i++;
if($i>2) ){false を返す;}
else を返す
}



http://www.bkjia.com/PHPjc/532205.html

www.bkjia.com

http://www.bkjia.com/PHPjc/532205.html技術記事昨日、ディレクトリを削除する方法を尋ねる投稿(chinaasp)を見ました。以前は常に可能でしたが、昨日はディレクトリを削除する前に下位レベルのファイルを削除しただけであることがわかりました。レベル...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。