ホームページ > バックエンド開発 > PHPチュートリアル > PHPでディレクトリ内のファイルの数を数える

PHPでディレクトリ内のファイルの数を数える

PHPz
リリース: 2024-02-28 11:04:01
転載
493 人が閲覧しました

php editor Yuzai が、PHP でディレクトリ内のファイルの数を数える方法を教えます。 PHP のファイルシステム関数を使用すると、ディレクトリを反復処理して、ディレクトリ内のファイルの数をカウントすることが簡単にできます。これは、Web サイト上の画像やドキュメントの数を数えるなど、一部のプロジェクトでは非常に便利な機能です。次に、PHP コードを使用してこの機能を実現する方法を詳しく説明します。一緒に学びましょう!


php の FilesystemIterator クラスを使用して、ディレクトリ内のファイルの数をカウントします

PHP は、ディレクトリ内のファイルを数えるエレガントな方法である FilesystemIterator クラスを提供します。このクラスには、ファイル システムを反復するためのさまざまな操作を実行する多数の関数と定数が含まれています。

iterator_count() 関数を使用して、イテレータ内の要素の数をカウントします。

次のディレクトリ構造を考えてみましょう。

リーリー

まず、変数 $iterator を作成し、FilesystemIterator() のインスタンスを保存します。最初のパラメーターを __DIR__ に設定し、コンストラクターの 2 番目のパラメーターとして FilesystemIterator::SKIP_DOTS を使用します。

__DIR__ はスクリプトが配置されている現在のディレクトリを示し、2 番目のパラメータはスキップを示すフラグです。および .. がディレクトリに存在します。 $iterator 変数には、現在のディレクトリのファイル システム イテレータが含まれます。

これを反復して、ファイル名、ファイル数などの情報を取得できます。

次に、iterator_count() 関数を使用して、ディレクトリ内の $iterator の数を出力します。

サンプルコード:

リーリー

出力結果は次のとおりです。

リーリー

したがって、FilesystemIterator() クラスを使用して、ディレクトリ内のファイルの数をカウントできます。


PHP

の glob() 関数と count() 関数を使用して、ディレクトリ内のファイルの数をカウントします。

glob() 関数と count() 関数を使用して、ディレクトリ内のファイルの数を取得できます。 glob() この関数は、指定されたパターンに一致するファイルとフォルダーの array を返します。

* を使用すると、ディレクトリ内のすべてのファイルを取得できます。次に、count() 関数を使用して、配列内の要素の数を取得します。

たとえば、$path 変数を作成して、ファイルがカウントされるディレクトリの正確なパスを保存します。次に、$path 変数で glob() 関数を使用し、その変数を /* と連結します。

その結果、myDir 内のすべてのファイルの配列が作成されます。最後に、glob() 関数の結果に対して count() 関数を使用します。

このようにして、myDir ディレクトリ内のファイルの数を確認できます。次のコード例は、最初の例で使用したファイル構造を表しています。

サンプルコード:

リーリー

出力結果は次のとおりです。

リーリー

scandir() 関数と count() 関数を使用して、PHP ディレクトリ内のファイルの数をカウントします

この方法は 2 番目の方法と似ています。ここでの唯一の違いは、glob() 関数の代わりに scandir() 関数を使用することです。

ディレクトリ パスをパラメータとして scandir() 関数に指定できます。この関数は、. および ...

を含むディレクトリのすべての内容を含む配列を返します。

次に、count() 関数を使用して、ディレクトリ内のコンテンツの数を取得します。最後に、重要な部分は、count() 関数の結果から 2 を引いて、.... のカウントを削除することです。

したがって、ディレクトリ内のファイルの正確な数を取得できます。

サンプルコード:

リーリー

出力結果は次のとおりです。

リーリー

以上がPHPでディレクトリ内のファイルの数を数えるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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