1. はじめに
前回のブログを書いていたとき、ファイル構造を表示するためにディレクトリ ツリー構造を使用する必要があったため、すべてのフォルダーとファイルを手動で「走査」する必要がありました。その後、これはエラーが発生しやすく、非常に労力がかかると考えたので、ディレクトリの下にあるファイルとフォルダーを走査し、必要に応じてディレクトリ ツリー構造を使用できるようにディレクトリ ツリーを生成する php スクリプトを作成することを考えました。将来的には、直接実行するだけです。スクリプトによって現在生成されているディレクトリ ツリー構造は、ブラウザを通じて直接表示することも、ダウンロードして txt ファイルを生成することもできます。
2. アイデアの紹介
ディレクトリツリーの生成の考え方は非常にシンプルで、現在のフォルダーの下にある内容をたどって、「.」と「..」に出会ったらそれを再帰的に呼び出して保存します。現在のフォルダーを走査した後、配列内のファイルを連結するこの操作は、ディレクトリ ツリーを生成した後に、ディレクトリ ツリーを表示またはダウンロードする別の手順があります。執筆プロセスにはまだ詳細がいくつかありますが、開発まで明らかにされません。理解しやすく拡張しやすいように、関数でできることをクラスにまとめて、フォルダー内を移動するという概念を明確にしました。
3. コードの実装
アイデアを思いついたので、コードを書くのが楽になりました(優れた人はコードを書くときにすぐにコードを書くのではなく、より多くの時間をかけて考えることさえあるとよく言うのはこのためです)。コード:
3.1 ディレクトリツリーの生成
リーリー
コードを表示3.2 ディレクトリツリーの表示
リーリー
コードを表示3.3 ダウンロードディレクトリツリー
リーリー
コードを表示3.4 テスト中
両端で次のコードを使用してそれぞれテストします:
リーリー
コードを表示上記のコードは、図 1 のように、ディレクトリ構造情報をブラウザに出力します。
结 図1 ブラウザへの出力ディレクトリ構造 図2 ダウンロードディレクトリツリー構造
ディレクトリツリーを生成する機能は基本的に完成していますが、時間があれば拡張してより使いやすくし、コマンドラインモードをサポートすることもできます。または、フォルダーを折りたためるように出力内容を強化します (js 実装)。
この記事の著作権は著者ifforever(luluyrt@163.com)に帰属します。記事を転載した後は、著者と原文リンクをわかりやすい位置に記載する必要があります。記事ページに記載されていない場合は、法的責任を追及する権利が留保されます。
上記では、ディレクトリ ツリーを生成するためのトラバーサルをその側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。