PHPでプログラムをしていて、ファイルのサイズがどれぐらい確認したいと思ったことはないでしょうか。
ファイルサイズ確認のプログラム例を紹介して、解説していきたいと思います。最近の画像ファイルなどはわりと容量が大きいので、ファイルサイズをメガバイト単位で表示する方法についても解説します。
ファイルサイズが何メガバイトあるか確認する方法
PHPにおいてファイルサイズをメガバイト単位で表示するプログラムは次のようになります。
<?php
$file_path = 'img_1.jpg';
$file_size_byte = filesize($file_path);
$file_size_megabyte = $file_size_byte / 1024 / 1024;
echo "The size of the file is: " . round($file_size_megabyte, 2) . " MB";
実行結果:
The size of the file is: 9.41 MB
プログラム解説
このプログラムについて解説していきたいと思います。
PHPでファイルのサイズを調べたい場合は、filesize 関数を使用します。この関数の引数に「ファイルのパス」を指定すれば、ファイルのサイズをバイト単位で返却します。
バイト単位をメガバイト単位に直すためには、「1024」で2回割る必要があります。ファイルサイズをキロバイト単位で表示したい場合は、「1024」で1回割り算をします。ここではファイルサイズをメガバイト単位に変換して変数「$file_size_megabyte」に格納しております。
変数「$file_size_megabyte」の値をそのまま表示してしまうと、小数点以下がダラダラと長く表示されてしまいます。
round 関数を使用すれば、結果を四捨五入で丸めることができます。例では引数に「2」を指定して、小数点以下3桁を四捨五入して、小数点以下2桁まで表示するようにしております。
ファイルが存在しない場合は?
パスで指定したファイルが存在しない場合は、Waring が表示されます。
実行結果:
Warning: filesize(): stat failed for img_1.jpg in file_size.php on line 3
The size of the file is: 0 MB
Waring が表示されるのが嫌な場合は、事前にファイルの存在チェックをするようにします。
<?php
$file_path = 'img_1.jpg';
if ( file_exists($file_path) ) {
$file_size_byte = filesize($file_path);
$file_size_megabyte = $file_size_byte / 1024 / 1024;
echo "The size of the file is: " . round($file_size_megabyte, 2) . " MB";
} else {
echo "The file is not exit";
}
実行結果:
The file is not exit
このように、関数 file_exists を使用してファイルが存在するかどうか事前に調べれば、Waring の表示を回避することができます。
コメント