添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

レシピ

ファイル / ディレクトリ

ファイルサイズを取得する

filesize関数 を使ってファイルサイズ(容量)を取得し、ファイルが何バイトあるかを調べる方法について解説します。併せて、 KB (キロバイト)、 MB (メガバイト)、 GB (ギガバイト)で出力する設定方法も解説していきます。

この記事のポイント

  • ファイルサイズ(容量)が何バイトあるかを確認する
  • バイトの単位を KB (キロバイト)、 MB (メガバイト)、 GB (ギガバイト)に調整して出力する
  • ファイルサイズを調べるための filesize関数 を使用して、指定したファイルが何バイトあるかを確認することができます。

    PHP コード例

    filesize("images/test.jpg");

    バイト数を整数で返します。
    もしファイルが存在しなかったり、アクセス権が無いなどでファイルサイズを取得できない場合は論理値で「 false 」を返し、次のようなWarningエラーが表示されます。

    エラーの表示例

    Warning: filesize(): stat failed for ../images/test.jpg in /test/index.php on line 1

    ファイルが存在しない場合は上記のようにファイルサイズを取得できないため、 file_exists関数 であらかじめファイルの存在を確認してから filesize関数 を使うことが多いです。

    PHP コード例

    // ファイルサイズを調べたいファイルへのパス $path = '/images/pic.jpg'; // あらかじめファイルが存在するか調べる if( file_exists($path) ){ // ファイルサイズを表示する echo "ファイルサイズは、". filesize($path) ."バイトです。";

    ファイルが存在し、ファイルサイズを取得できた場合は次のようにメッセージが出力されます。

    ファイルサイズは、614041バイトです。

    ファイルが存在しない場合は何も出力しません。

    ファイルサイズの単位をKB(キロバイト)に変更する

    ファイルサイズの基本となる単位は B (バイト)ですが、 KB (キロバイト)の単位で出力したい場合は次のように調整します。

    PHP コード例

    $path = '/images/pic.jpg'; $filesize = null; if( file_exists($path) ){ // ファイルサイズを取得 $filesize = filesize($path); if( 1000 <= $filesize ) { echo "ファイルサイズは".($filesize / 1000)."KBです。"; } else { echo "ファイルサイズは、{$filesize}バイトです。";

    上記のコードは 1KB 1000B として計算しているため、計算式は「 $filesize / 1000 」としています。

    取得したファイルサイズが 1000バイト 以上ある場合のみ KB へ変換し、 1KB ( 1000バイト )未満だった場合は標準のバイトで表示します。

    ファイルサイズは39.939KBです。

    もし 1KB 1024B で計算するときは、 1000 1024 に置き換えて実行します。

    ファイルサイズの単位をMB(メガバイト)に変更する

    取得するファイルサイズの単位を MB (メガバイト)にします。
    1MB 1000B 、そして 1MB 1000KB なので、バイトからメガバイトの値を取得する時は「 1000 * 1000 」で計算します。

    PHP コード例

    $path = '/images/pic.jpg'; $filesize = null; $kilobyte = 1000; $megabyte = 1000 * $kilobyte; if( file_exists($path) ){ $filesize = filesize($path); if( $megabyte <= $filesize ) { echo "ファイルサイズは".($filesize / $megabyte)."MBです。"; } else if( $kilobyte <= $filesize ) { echo "ファイルサイズは".($filesize / $kilobyte)."KBです。"; } else { echo "ファイルサイズは、{$filesize}バイトです。";

    ファイルサイズが 1,000,000バイト 以上ある場合のみ MB へ変換し、 1KB 未満だったときは KB で表示し、 1KB ( 1000バイト )未満だったときは標準のバイトで表示します。

    ファイルサイズは13.424042MBです。

    ファイルサイズの単位をGB(ギガバイト)に変更する

    KB MB と同じ容量で、単位を GB (ギガバイト)に変更します。
    1GB 1000MB なので、単位で出力したい場合は次のように調整します。

    PHP コード例

    $path = '/images/pic.jpg'; $filesize = null; $kilobyte = 1000; $megabyte = 1000 * $kilobyte; $gigabyte = 1000 * $megabyte; if( file_exists($path) ){ $filesize = filesize($path); echo "ファイルサイズは".($filesize / $gigabyte)."GBです。";

    上記のコードはファイルサイズに関わらず、一律でGB単位で表示するようにしています。

    ファイルサイズは0.013424042GBです。

    以上、PHPでのファイルサイズの取得方法と単位の調整についてでした。

    こちらの記事は役に立ちましたか?

    ありがとうございます。
    もしよろしければ、あわせてフィードバックや要望などをご入力ください。

    コメントありがとうございます!
    運営の参考にさせていただきます。