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

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

作成日: 更新日:

基本的な使い方

getSizeメソッドは、FilesystemIteratorクラスにおいて、現在イテレータが指し示しているファイル要素のサイズをバイト単位で取得するために実行するメソッドです。FilesystemIteratorは、ファイルシステム内の特定のディレクトリを効率的に反復処理(一つずつ要素を調べていくこと)するためのPHPの組み込み機能です。このメソッドは、ディレクトリ内の各ファイルについて、その内容の物理的な大きさを数値として提供します。

具体的には、イテレータが現在処理している要素がファイルである場合に、そのファイルのデータ容量を整数値で返します。例えば、1024バイトのファイルであれば1024を返します。しかし、現在の要素がディレクトリである場合、ディレクトリ自体には内容としてのサイズがないため、このメソッドは常に0を返します。

このgetSizeメソッドを適切に利用するには、FilesystemIteratorのインスタンスを生成する際に、ファイル情報として現在の要素を取得するように設定する必要があります。具体的には、FilesystemIteratorのコンストラクタの第二引数にFilesystemIterator::CURRENT_AS_FILEINFOというフラグを指定することで、イテレータが各要素をSplFileInfoオブジェクトとして扱い、getSizeメソッドが機能するようになります。これにより、システムエンジニアは、ディレクトリ内のファイルサイズに基づいて特定の処理を実行したり、ファイルサイズの合計を計算したりするアプリケーションを簡単に構築できるようになります。

構文(syntax)

1<?php
2$iterator = new FilesystemIterator(__DIR__);
3foreach ($iterator as $fileInfo) {
4    if ($fileInfo->isFile()) {
5        $fileSize = $fileInfo->getSize();
6    }
7}
8?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

このメソッドは、現在のファイルまたはディレクトリのサイズをバイト単位で表す整数値を返します。

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