ホームページ >バックエンド開発 >PHPチュートリアル >PHP でディレクトリ ファイル名を確実に取得するにはどうすればよいですか?

PHP でディレクトリ ファイル名を確実に取得するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-08 08:16:13286ブラウズ

How Can I Reliably Retrieve Directory Filenames in PHP?

PHP を使用したディレクトリ ファイル名の取得

PHP でファイル システムを操作する場合、多くの場合、ディレクトリ内のファイル名のリストを取得する必要があります。 。組み込みの readdir 関数をこの目的に使用できますが、特定の制限があります。

readdir で '1' の問題が発生する:

場合によっては、 readdir を使用すると、予期しない出力が発生する可能性があります。たとえば、ディレクトリ内のファイル名を取得しようとすると、以下のコードは実際のファイル名ではなく「1」で埋められた配列を生成する可能性があります:

if (is_dir($log_directory)) {
    if ($handle = opendir($log_directory)) {
        while($file = readdir($handle) !== FALSE) {
            $results_array[] = $file;
        }
        closedir($handle);
    }
}

解決策: ファイル名に glob を使用する取得:

この問題を解決して目的のファイル名を取得するには、glob 関数を使用することをお勧めします。 glob はファイル パス パターンを引数として受け取り、そのパターンに一致するファイル名の配列を返します。

glob を利用すると、次の構文を使用してディレクトリ内のファイル名を簡単に取得できます:

foreach(glob($log_directory.'/*.*') as $file) {
    ...
}

この例では、$log_directory はファイル名を取得するディレクトリ パスを表します。 *.* パターンは、指定されたディレクトリ内の任意の拡張子を持つすべてのファイルに一致します。

glob によって返された配列を反復処理することで、ファイル名にアクセスし、必要に応じてさらなる操作を実行できます。

以上がPHP でディレクトリ ファイル名を確実に取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。