PHP を使用してディレクトリからファイル名を取得する
PHP でディレクトリを操作する場合、すべてのディレクトリの名前を取得するのが一般的なタスクです。その中に含まれるファイル。 opendir() 関数と readdir() 関数を利用するとこれを効果的に実現できますが、特定の実装では、検出されたファイルごとに「1」のみが返されるという問題が発生する可能性があります。
この動作は、readdir() 関数のデフォルトに起因します。ディレクトリ内のファイルを反復処理し、実際の名前の代わりにインデックス番号を返す操作。これを修正するには、glob() 関数を使用する別のアプローチをお勧めします。
glob() 関数は、ワイルドカード パターンを受け入れ、指定されたディレクトリ パスを再帰的に検索し、パターンを満たすすべてのファイルを照合して返します。 *.* などのワイルドカードを使用すると、ディレクトリ内の拡張子を持つすべてのファイルが確実にキャプチャされます。返される値はファイル パスの配列であり、これを反復処理して目的のファイル名を抽出できます。
これは、glob() を使用してディレクトリからファイル名を取得する例です:
foreach (glob($log_directory . '/*.*') as $file) { // Process file name }
glob() を利用すると、ディレクトリ内のすべてのファイルの名前を効果的に取得でき、readdir() で発生する「1」の問題が解消されます。このアプローチは効率的で堅牢で、ほとんどの現場での使用に適しています。
以上がPHP でディレクトリからファイル名を効率的に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。