ホームページ > バックエンド開発 > PHPチュートリアル > PHP 再帰関数はディレクトリを再帰的にコピーおよび削除します

PHP 再帰関数はディレクトリを再帰的にコピーおよび削除します

WBOY
リリース: 2016-07-25 08:51:23
オリジナル
1106 人が閲覧しました
PHP プログラミングでは、複数レベルのディレクトリのコピーと削除が問題になります。PHP の再帰関数を使用して、ディレクトリのコピーと削除を行うことができます。

ディレクトリを削除するphpの再帰関数

phpで複数のサブディレクトリを含むディレクトリをコピーするには、ファイルのコピーやディレクトリの作成などの操作が必要になります。ファイルのコピーは PHP が提供する copy() 関数を使用して実行でき、ディレクトリの作成は mkdir() 関数を使用できます。関数を定義するときは、まずソース ディレクトリを調べ、通常のファイルが見つかった場合は、copy() 関数を使用してそれを直接コピーします。トラバーサル中にディレクトリが見つかった場合は、ディレクトリを作成し、そのディレクトリ内のファイルをコピーする必要があります。サブディレクトリがある場合は、最終的にディレクトリ全体をコピーするために再帰的な繰り返し操作が使用されます。

例、ディレクトリをコピーするカスタム再帰関数。

コードをコピー コード例:

セキュリティとクロスプラットフォームを考慮して、ディレクトリのコピーを完了するためにオペレーティング システムの SHELL コマンド「cp-a」を呼び出さないようにしてください。

2. PHPのディレクトリ作成・削除関数とディレクトリの再帰的削除関数の紹介

PHP ディレクトリの作成および削除関数、およびディレクトリの再帰的削除関数の概要を理解します。ディレクトリを再帰的に削除するカスタム関数を実装する方法を理解します。

mkdir() — 新しいディレクトリを作成します

– 構文: bool mkdir (文字列パス名 [,int モード]) – パス名で指定された新しいディレクトリの作成を試行します。

rmdir() — ディレクトリを削除します

– 構文: bool rmdir (文字列ディレクトリ名) – dirname で指定されたディレクトリの削除を試みます。 ディレクトリは空である必要があり、適切な権限が必要です。成功した場合は TRUE、失敗した場合は TRUE を返します 間違い。

リンク解除 — ファイルを削除します

– 構文: bool unlink (文字列ファイル名) – ファイル名を削除します。 Unix C の unlink() 関数に似ています。成功した場合は TRUE、失敗した場合は FALSE を返します。 PHP では、mkdir() 関数を使用してディレクトリ名を渡すだけで、新しいディレクトリを簡単に作成できます。ただし、ディレクトリの削除に使用される関数 rmdir() は空のディレクトリのみを削除でき、ディレクトリは存在する必要があります。空でないディレクトリの場合は、まずそのディレクトリに入り、 unlink() 関数を使用してディレクトリ内のすべてのファイルを削除し、その後戻って空のディレクトリを削除する必要があります。ディレクトリ内にまだディレクトリがあり、サブディレクトリが空でない場合は、再帰的方法を使用する必要があります。

ディレクトリを削除するカスタム再帰関数の例:

コードをコピー コード例:

もちろん、オペレーティング システム コマンド「rm-rf」を呼び出して、空でないディレクトリを削除することもできますが、セキュリティとクロスプラットフォームを考慮して、このコマンドを使用しないようにすることもお勧めします。

3. ファイルとディレクトリを再帰的に削除する PHP カスタム関数

ファイルとディレクトリを再帰的に削除するカスタム関数の PHP コード 例:

コードをコピー コード例: 4. ディレクトリ全体を削除するPHP再帰関数

php は、php 再帰アルゴリズムとディレクトリ技術を含む、ディレクトリ全体を削除するための再帰関数を実装しています。

例として、PHP はディレクトリ全体を削除するための再帰関数を実装しています。

コードをコピー コード例:


ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート