Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

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

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

作成日: 更新日:

基本的な使い方

getSizeメソッドは、RecursiveDirectoryIteratorクラスを通して、ファイルシステム上の特定の要素のサイズ情報を取得するために使用されるメソッドです。RecursiveDirectoryIteratorクラスは、指定したディレクトリとそのサブディレクトリ(階層下のディレクトリ)を順番にたどって、その中にあるファイルやディレクトリ一つひとつにアクセスできるようにするクラスです。このクラスは、ファイルシステムを再帰的に走査し、各要素にアクセスする機能を提供します。

getSizeメソッドは、この走査の過程で現在アクセスしている要素がファイルである場合に、そのファイルの大きさをバイト単位の整数値で返します。例えば、1024バイトのファイルであれば「1024」という数値が返されます。この機能は、ファイルの内容がどれくらいの容量を占めているかを知りたい場合に特に役立ちます。

もし現在アクセスしている要素がディレクトリであった場合、getSizeメソッドは「0」を返します。これは、このメソッドが個々のファイルのデータ量に焦点を当てており、ディレクトリ自体の容量を測定するものではないためです。

このメソッドを利用することで、ディレクトリ内のすべてのファイルの合計サイズを計算したり、特定のサイズを超えるファイルを検出したりするなど、ファイルシステムを効率的に管理するための様々な処理を実現できます。システムエンジニアを目指す方にとって、ファイルシステムの操作は基本的なスキルのため、このメソッドの理解は重要です。

構文(syntax)

1<?php
2$directoryPath = __DIR__; // 現在のスクリプトが存在するディレクトリのパス
3$iterator = new RecursiveDirectoryIterator($directoryPath);
4
5foreach ($iterator as $fileInfo) {
6    if ($fileInfo->isFile()) {
7        $fileSize = $fileInfo->getSize(); // SplFileInfo オブジェクトの getSize() メソッドを呼び出し、ファイルのサイズをバイト単位で取得
8        // $fileSize にはファイルサイズが格納されます
9        break; // 最初のファイルが見つかった時点で処理を停止(構文を示すため)
10    }
11}
12?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

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