PHPのいくつかのディレクトリの削除方法のまとめ
1910 ワード
へへ,突然友達が私にどうやってカタログを削除するかと聞きました。例えば下に書類があります。そこで、次のような方法をまとめました。1です。ピッキング: //提供します。ちょっと違っているようです。ディレクタをテストしていません。 if (rmdir==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) } else { exit('Not) permission; } } } 2です。システム呼び出し法 //大師兄提供function del_dir($dir){ if(sttouper(substr(PHP_)OS 0, 3) == 'WIN { $str = "rmdir /s/q " . $dir; } else { $str = "rm -Rf。 " . $dir; } } 3です。循環法 //from: http://www.knowsky.com/1148.html 機能 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.'/'.$); //ファイルならそのまま削除します。 if(is_)dir($pathdir.'/'.$a) && ($a!=') && ($a!='.') {//目次なら if(is_empty_dir($pathdir.'/'.$a)//空かどうか {//もしそうでないならば、自分を呼び出して、もとのパス+彼の下级のディレクトリ名だけです。 deltree($pathdir.'/'.$); } if(is_)empty_dir($pathdir.'/'.$) {//空ならそのまま削除します。 rmdir($pathdir.'/'.$) } } } $d->close(); echo "先にディレクトリのすべてのファイルを削除しなければなりません。私はデバッグの時に使います } } 機能 is_empty_dir($pathdir) { //ディレクトリが空かどうかを判断するのは私の方法がよくないですよね?ただ見るだけです。他のものは空です。d=opendir($pathdir)です。 $i=0; while($a=readdir($d))) { $i++; } closedir($d) if($i>2){return} false; else return true; } へへ,十分に各种の友达に使うようにしましょう、ただあなたの必要とスピードによって论じにくるだけでしょう。