filesize

関数の概要

PHPの filesize 関数は、指定したファイルのサイズをバイト単位で取得するための関数です。ファイルの容量を知りたいときに便利で、ファイル操作やデータ管理の際に頻繁に使われます。

パラメータの説明

  • filename:サイズを取得したいファイルのパス(文字列)。絶対パスや相対パスを指定できます。

戻り値

指定したファイルのサイズをバイト数で返します。ファイルが存在しない場合やアクセスに問題がある場合は FALSE を返します。

使用例

基本的な使い方

<?php
$size = filesize('example.txt');
if ($size !== false) {
    echo "ファイルサイズは " . $size . " バイトです。";
} else {
    echo "ファイルのサイズを取得できませんでした。";
}
?>

ファイル名を指定して、そのサイズを取得し、バイト数で表示しています。ファイルが存在しない場合にはエラーメッセージを表示します。

ファイルサイズをKB単位に変換して表示

<?php
$size = filesize('upload/image.jpg');
if ($size !== false) {
    $sizeKB = $size / 1024;
    echo "ファイルサイズは約 " . number_format($sizeKB, 2) . " KBです。";
} else {
    echo "ファイルのサイズを取得できませんでした。";
}
?>

ファイルサイズをバイトからキロバイト(KB)に変換し、小数点以下2桁で表示しています。

ファイルサイズによって処理を分岐させる例

<?php
$maxSize = 5 * 1024 * 1024; // 最大5MB
$file = 'data/archive.zip';

$size = filesize($file);
if ($size !== false) {
    if ($size <= $maxSize) {
        echo "ファイルサイズは許容範囲内です。アップロード可能です。";
    } else {
        echo "ファイルサイズが大きすぎます。5MB以下にしてください。";
    }
} else {
    echo "ファイルのサイズを取得できませんでした。";
}
?>

アップロード制限などに使える例です。指定したファイルのサイズが5MB以下かどうかを判定しています。

関連する関数

  • filesizeと合わせて使いたい関数例:
  • file_exists – ファイルの存在チェックに使用します
  • filesizeとよく組み合わせる is_readable – ファイルが読み込み可能か確認する際に使います
  • fopenfread – ファイルの読み込み処理
  • filesizeと比較してサイズ制限を行う際に ini_get('upload_max_filesize') で設定値を取得することもあります

まとめ

filesize関数はPHPで簡単にファイルのサイズを取得できる便利な関数です。ファイル管理やアップロード処理など、あらゆるシーンで役立つため、基本的な使い方を押さえておくと実務での開発効率が向上します。ファイルの存在確認やアクセス権のチェックと組み合わせて安全に利用しましょう。