ファイルを処理するとき、指定されたファイルを検索する必要がある状況がよく発生します。ファイルの数が少ない場合は、手動検索を使用できます。ただし、多数のファイルが関係する場合、手動検索は膨大な作業になります。このとき、便利な関数である glob() 関数が役に立ちます。
glob() 関数は、PHP の非常に実用的な関数であり、ワイルドカード文字を指定してファイルやディレクトリを検索できます。 glob() 関数は、さまざまなパラメーターを使用して、見つかったファイルを並べ替えたりフィルター処理したりすることもできるため、多数のファイルの中から必要なファイルをすばやく見つけることができます。
以下では、関数の基本的な使用法から始めて、徐々に glob() 関数の使用法を紹介します。
glob() 関数は非常に単純で、パラメータは 1 つだけ、つまり、検索するファイルを表すワイルドカード文字だけです。以下に例を示します。
$files = glob('/path/to/files/*.jpg');
この例のワイルドカード文字は「*.jpg」です。これは、/path/to/files/ ディレクトリ内でサフィックス「.jpg」を持つすべてのファイルを検索することを意味します。 。見つかった結果は配列の形式で返されます。
特定のディレクトリ内のすべてのファイルとサブディレクトリを検索したい場合は、「**」ワイルドカードを使用できます:
$files = glob('/path/to/files/**');
このようにして、/ 内のファイルを検索できます。 path/to/files/ directory サブディレクトリの下にあるものを含むすべてのファイルとディレクトリ。
さらに、ワイルドカードで角括弧を使用して一連の文字を指定することもできます。
$files = glob('/path/to/files/[abc]*');
この方法では、「a」、「b」、または「c」で始まるすべてのファイルを検索できます。 「。」
上記では、glob() 関数の基本的な使用法を紹介しています。ただし、見つかった結果を並べ替えたりフィルターしたりするためのパラメーターを設定することもできます。
2 番目のパラメータ (ソート モードを示す) を設定することで、検索結果をソートできます。一般的に使用されるソート モードの一部を次に示します。
たとえば、接尾辞「.jpg」を持つすべてのファイルを名前の逆順に並べ替える場合は、次のコードを使用できます。
$files = glob('/path/to/files/*.jpg', GLOB_NOSORT|GLOB_NOCHECK); rsort($files);
この例では、ソート方法を設定するには、GLOB_NOSORT と GLOB_NOCHECK の 2 つの定数を使用します。
3 番目のパラメーター (フィルターを示す) を設定することで、見つかった結果をフィルターできます。一般的に使用されるフィルターをいくつか示します。
たとえば、サイズが 100MB 以下のファイルのみを検索する必要がある場合は、次のコードを使用できます。
$files = glob('/path/to/files/*.*'); array_filter($files, function($file) { return filesize($file) <= 100 * 1024 * 1024; });
この例では、array_filter( ) 結果フィルターをフィルター処理する関数。
上記の例を通じて、glob() 関数を使用して PHP でファイルとディレクトリを検索する方法を学びました。 glob() 関数は非常にシンプルかつ実用的で、多くのパラメーターと使用方法があり、より複雑で柔軟なファイル検索と処理を実現できます。 PHP プロジェクトでは、glob() 関数を選択して、大量のファイルとディレクトリを簡単かつ効率的に処理できます。
以上がPHP glob() 関数を使用して、ファイル名のワイルドカード文字に基づいてファイルを検索しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。