昨日、ディレクトリを削除する方法を尋ねる投稿 (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 "最初に削除する必要があります。ディレクトリ内のすべてのファイル";//デバッグ時に使用するもの
}
www.bkjia.com