PHPプログラミング

レシピ

ファイル / ディレクトリ

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

filesize関数を使って、ファイルサイズ(容量)が何バイトあるかを調べる方法について解説します。

この記事のポイント

  • ファイルサイズ(容量)が何バイトあるかを確認する
  • バイトの単位をKB(キロバイト)に調整して出力する

目次

ファイルサイズが何バイトあるか確認する

ファイルサイズを調べるためのfilesize関数を使用して、指定したファイルが何バイトあるかを確認することができます。

コード例

filesize("images/test.jpg");

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

エラーの表示例

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

使用例

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

コード例

// ファイルサイズを調べたいファイルへのパス
$path = '/images/pic.jpg';

// あらかじめファイルが存在するか調べる
if( file_exists($path) ){

	// ファイルサイズを表示する
	echo "ファイルサイズは、". filesize($path) ."バイトです。";
}

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

出力例

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

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

単位をKB(キロバイト)に変更する

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

コード例

$path = '/images/pic.jpg';
$filesize = null;

if( file_exists($path) ){
	
	// ファイルサイズを取得
	$filesize = filesize($path);

	if( 1024 <= $filesize ) {
		echo "ファイルサイズは".($filesize / 1024)."KBです。";
	} else {
		echo "ファイルサイズは、{$filesize}バイトです。";
	}	
}

1KB1024バイトなので、取得したファイルサイズが1024バイト以上ある場合のみKBへ変換し、1KB(1024バイト)未満だった場合は標準のバイトで表示します。
同じ要領で、MB(メガバイト)やGB(ギガバイト)など必要に応じて単位を調節することができます。

出力例

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

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

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

ありがとうございます。
コメントを送信しました。