PHP サンプル共有: recursion_PHP チュートリアルによるディレクトリ内のすべてのファイルの削除の詳細な説明

WBOY
リリース: 2016-07-13 10:29:46
オリジナル
858 人が閲覧しました

最初にコードを投稿してください:

コードをコピー コードは次のとおりです:

function delFile($dirName){
if ($handle = opendir("$dirName")){
while (($item) = readdir( $handle))!=false){
if ($item!="." && $item!="..") {
if ( is_dir( "$dirName/$item" ) ) {
delFile ( "$ dirName/$item" );
} else unlink("$dirName/$item");
}
}
Closedir($handle);
}
?>


delFile('/home/sources');
?>

最初にいくつかの機能を説明しましょう:

opendir(): この関数はディレクトリ ハンドルを開き、closedir()、readdir()、および rewinddir() で使用できます。

成功した場合、関数はディレクトリ ストリームを返し、それ以外の場合は false とエラーを返します。関数名の前に「@」を追加すると、エラー出力を非表示にできます。例: $dir=@ opendir("image");

readdir(): opendir 関数によって開かれたディレクトリ ハンドル内のエントリを返します。つまり、ファイル システムで指定された並べ替え方法に従って、フォルダー内のファイル名を順番に返します。

id_dir(): パラメーター ファイルがディレクトリであるかどうかを確認し、ディレクトリである場合は true を返します。

un_link(): 指定されたファイルを削除します。

つまり、プログラムの実行のアイデアは次のとおりです。関数はメイン ディレクトリを呼び出し、各ファイルがディレクトリであるかどうかを順番にチェックし、ディレクトリである場合は関数が再帰的に呼び出され、すべてのファイルが削除されるまでディレクトリではないファイルが削除されます。横断されます。

このプログラムはフォルダーの内容のみを削除しますが、フォルダー自体は削除しません。この目的を達成したい場合は、次のコードを追加するだけです:

コードをコピーします コードは次のとおりです:

rmdir($dirName);

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/770580.html技術記事最初にコードを貼り付けます: 次のようにコードをコピーします: ?php function delFile($dirName){ if ($handle = opendir("$dirName")){ while (($item = readdir($handle))!=false) { if ($item!="." $item!="....
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート