【PHP】ファイルサイズを取得して単位変換する方法

ファイルサイズを取得し、わかりやすい単位に変換する方法について解説します。この記事では、PHPのfilesize()関数を使用してファイルサイズを取得し、バイトからKB、MB、GBなどの単位に変換する具体的な手順を紹介します。

ファイルサイズの取得

まずは、filesize()関数を使ってファイルサイズを取得します。この関数はファイルのサイズをバイト単位で返します。

$filename = 'path/to/your/file.txt';
$filesize = filesize($filename);
echo "File size in bytes: " . $filesize;

このコードでは、指定したファイルのサイズがバイト単位で出力されます。

ファイルサイズの単位変換

次に、取得したファイルサイズを人間が読みやすい形式(KB、MB、GBなど)に変換する関数を作成します。

function formatFileSize($size) {
    $units = array('B', 'KB', 'MB', 'GB', 'TB');
    for ($i = 0; $size >= 1024 && $i < count($units) - 1; $i++) {
        $size /= 1024;
    }
    return round($size, 2) . ' ' . $units[$i];
}

$formattedSize = formatFileSize($filesize);
echo "File size: " . $formattedSize;

この関数を使うことで、ファイルサイズを適切な単位に変換して表示することができます。

まとめたコード

最後に、ファイルサイズの取得と単位変換を一緒に行う完全なコードを示します。

<?php
function formatFileSize($size) {
    $units = array('B', 'KB', 'MB', 'GB', 'TB');
    for ($i = 0; $size >= 1024 && $i < count($units) - 1; $i++) {
        $size /= 1024;
    }
    return round($size, 2) . ' ' . $units[$i];
}

$filename = 'path/to/your/file.txt';
if (file_exists($filename)) {
    $filesize = filesize($filename);
    $formattedSize = formatFileSize($filesize);
    echo "File size: " . $formattedSize;
} else {
    echo "File does not exist.";
}
?>

このコードを使用すると、指定されたファイルのサイズを取得し、人間が読みやすい形式に変換して表示することができます。ファイルの存在チェックも含まれているため、安全にファイルサイズを取得することができます。

まとめ

この記事では、PHPを使用してファイルサイズを取得し、適切な単位に変換する方法を紹介しました。この手法を活用することで、ファイルサイズをわかりやすく表示することができます。ぜひ、プロジェクトで活用してみてください。