PHP 5.0以降、PHPには、SPL(Standard PHP Library、完全名:Standard PHP Library)、これによって定義されるいくつかのクラスなど、いくつかの組み込みコンポーネントとインターフェイスが追加されました。このインターフェイスにより、PHP 開発者は実際のプロジェクトを簡単かつ迅速に開発できるようになります。この記事では、フォルダー (ディレクトリ) 処理を扱う SPL ライブラリのクラス、DirectoryIterator について簡単に記録します。
フォルダー (ディレクトリ) の処理については、まず、このサイトの記事を参照してください。
ディレクトリを読み取り、ディレクトリ内のファイルを一覧表示するphp関数以下では、DirectoryIterator クラスを使用して、上記の接続記事のメソッドを実装しています。 リーリー 次に、DirectoryIterator クラスのより一般的なメソッドと説明をいくつか示します:
| 説明する
|
| パスから新しいディレクトリイテレータを構築する
|
| 現在のオブジェクトを返す(Iteratorインターフェースで必要なメソッド)
|
| ファイルの最終アクセス時刻を取得する
|
| ファイルの i ノード変更時刻を取得する
|
| これがディレクトリの場合は、現在の項目のイテレータを返します
|
| 現在のディレクトリエントリのファイル名を返します
|
| ファイルグループを取得する
|
| ファイルの i ノードを取得する
|
| ファイルの最終変更時刻を取得する
|
| ファイル所有者を取得する
|
| ディレクトリパスに戻る
|
| 現在のディレクトリエントリのパスとファイル名を返します
|
| ファイル権限を取得する
|
| ファイルサイズを取得する
|
| ファイルタイプを取得する
|
| 現在の項目がディレクトリの場合は、true を返します
|
| 現在の項目が or. の場合、true を返します
|
| ファイルが実行可能であれば、trueを返します
|
| ファイルが通常のファイルの場合は、trueを返します
|
| ファイルがシンボリックリンクの場合は、trueを返します|
ディレクトリイテレータ::isReadable |
ファイルが読み取り可能な場合は true を返します |
DirectoryIterator::isWritable |
ファイルが書き込み可能な場合は true を返します |
ディレクトリイテレータ::キー |
現在のディレクトリ項目に戻る |
ディレクトリイテレータ::next |
次の項目に移動 |
ディレクトリイテレータ::rewind |
ディレクトリポインタを開始位置に戻す |
ディレクトリイテレータ::有効 |
ディレクトリにさらにアイテムが含まれているかどうかを確認してください |
また、SPL クラスライブラリのディレクトリを処理するメソッドは RecursiveDirectoryIterator メソッドです。このメソッドと DirectoryIterator メソッドの違いは、サブディレクトリを含むすべてのファイルを取得できることです。
RecursiveDirectoryIterator のメソッドについて:
ファングメソッド |
説明する |
RecursiveDirectoryIterator::getChildren |
これがディレクトリの場合は、現在の項目のイテレータを返します |
RecursiveDirectoryIterator::hasChildren |
現在の項目が .. ではなくディレクトリであるかどうかを返します。 |
RecursiveDirectoryIterator::key
|
現在のディレクトリエントリのパスとファイル名を返します
|
RecursiveDirectoryIterator::next
|
次の項目に移動
|
RecursiveDirectoryIterator::rewind
|
ディレクトリポインタを開始位置に戻す
|
RecursiveIteratorIterator::current
|
現在の要素値にアクセスする
|
RecursiveIteratorIterator::getDepth
|
再帰的反復の現在の深さを取得します
|
RecursiveIteratorIterator::getSubIterator
|
現在アクティブなサブイテレーターを取得します
|
RecursiveIteratorIterator::key
|
現在のキーにアクセスします
|
RecursiveIteratorIterator::next
|
次の要素に進む
|
RecursiveIteratorIterator::rewind
|
イテレータを最上位の内部イテレータの最初の要素に返します
|
RecursiveIteratorIterator::valid
|
現在の場所が合法かどうかを確認してください
|