【PHP8.x】getFileInfoメソッドの使い方

getFileInfoメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getFileInfoメソッドは、PHP 8で提供されるFilesystemIteratorクラスに属し、ファイルシステムを反復処理する際に、現在の位置にあるファイルやディレクトリの詳細な情報を取得するために使用されるメソッドです。このメソッドを呼び出すと、該当するファイルやディレクトリの情報を一まとめにしたSplFileInfoオブジェクトが返されます。

SplFileInfoオブジェクトは、ファイル名、パス、ファイルサイズ、最終更新日時、ファイルの種類(通常のファイルかディレクトリかなど)、読み書きのパーミッションといった多岐にわたる属性を保持しています。そのため、FilesystemIteratorを使って特定のディレクトリ内の要素を一つずつ調べていく際、それぞれの要素がどのような特性を持っているのかを簡単に把握し、それに基づいて様々な処理を実行できます。

例えば、特定の拡張子を持つファイルだけを抽出したい場合や、更新日時が新しいファイルだけをリストアップするような場面で、getFileInfoメソッドは大変役立ちます。このメソッドを利用することで、ファイルシステム操作をより効率的かつ柔軟に行うことが可能となり、システム開発におけるファイル管理処理の実装を簡潔に記述できるようになります。

構文(syntax)

1<?php
2
3// 現在のディレクトリを指す FilesystemIterator を作成
4$iterator = new FilesystemIterator(__DIR__);
5
6// イテレータを最初の要素に巻き戻します
7$iterator->rewind();
8
9// イテレータが有効な要素を指している場合
10if ($iterator->valid()) {
11    // FilesystemIterator::getFileInfo() を呼び出し、現在の要素の SplFileInfo オブジェクトを取得
12    $fileInfo = $iterator->getFileInfo();
13
14    // 取得した SplFileInfo オブジェクトからファイル名を表示
15    echo $fileInfo->getFilename() . PHP_EOL;
16}
17
18?>

引数(parameters)

?string $class = NULL

  • ?string $class = NULL: FileInfoオブジェクトの代わりに返すオブジェクトのクラス名。指定しない場合はデフォルトのSplFileInfoクラスが使用される。

戻り値(return)

SplFileInfo

FilesystemIterator::getFileInfoメソッドは、現在のエントリを表すSplFileInfoオブジェクトを返します。このオブジェクトは、ファイル名、パス、パーミッションなどのファイルに関する詳細情報を提供します。

【PHP8.x】getFileInfoメソッドの使い方 | いっしー@Webエンジニア