ホームページ > バックエンド開発 > PHPの問題 > PHPでファイルサイズを計算する方法

PHPでファイルサイズを計算する方法

王林
リリース: 2023-02-24 17:42:01
オリジナル
8448 人が閲覧しました

PHPでファイルサイズを計算する方法

PHP を初めて使用する方にとって、PHP でファイルサイズを取得する機能を実装するのは難しいかもしれません。しかし、初心者でもこの記事の紹介を読めば、PHP でファイルサイズを取得するための重要な知識を簡単にマスターできると思います。

以下では、具体的なコード例を使用して、PHP がファイル サイズを取得する方法を詳細に分析します。

1. まず、ファイルのバイト数のみを取得する必要がある場合は、

PHP の filesize 関数を通じて直接取得できます。コードは次のとおりです。 follow:

echo filesize("upload.php");
ログイン後にコピー

ブラウザからアクセスした場合の出力結果は以下の通りです:

PHPでファイルサイズを計算する方法

上図からわかるように、取得したファイルサイズは次のとおりです。直接出力では 1614 バイト、アップロードでは php プロパティに表示されるファイル サイズは 1614 バイトです。ファイル サイズはよく知られていますが、バイト単位で表現されるほかに、KB、MB、GB、TB などの単位で表現されることもよくあります。

2. では、ファイル サイズを取得して通常のサイズ形式で表示したい場合は、どうすればよいでしょうか?

以下では、通常のサイズを取得するための非常に簡単なカプセル化方法を紹介します。

通常のサイズを取得するための PHP カプセル化メソッドの具体的なコード例は次のとおりです:

<?php
$size = filesize("upload.php");
function trans_byte($byte)
{
    $KB = 1024;
    $MB = 1024 * $KB;
    $GB = 1024 * $MB;
    $TB = 1024 * $GB;
    if ($byte < $KB) {
        return $byte . "B";
    } elseif ($byte < $MB) {
        return round($byte / $KB, 2) . "KB";
    } elseif ($byte < $GB) {
        return round($byte / $MB, 2) . "MB";
    } elseif ($byte < $TB) {
        return round($byte / $GB, 2) . "GB";
    } else {
        return round($byte / $TB, 2) . "TB";
    }
}
echo trans_byte($size);
ログイン後にコピー

このコードでは、まず $size 変数を定義してアップロードのバイト サイズを取得します。次に、バイト サイズを通常のサイズ形式に変換するために使用される filesize という名前のメソッドを作成します。

コンピューターの計数では 2 の累乗で計算される 2 進数が使用されることを誰もが知っているはずです。 1KB=2の10乗=1024B; 1MB=2の20乗=1024*1024B=1024KB; GB、TB換算など。

したがって、ファイルサイズ メソッドでは、まず上記のコードで 4 つの変数 $KB、$MB、$GB、$TB を定義します。次に、if...elseif 条件文を使用してファイルのバイト サイズを徐々に決定し、PHP のラウンド関数を使用してファイル サイズ値の小数点以下 2 桁を保持します。

次に、上記のカプセル化されたファイルサイズメソッドをテストして、通常のファイルサイズを取得します。ブラウザから php にアクセスして、ファイルサイズを取得します。結果は以下のようになります。

上記のことから 図からわかるように、独自のカプセル化されたファイルサイズ手法により、PHP がファイル サイズを計算し、通常のファイル サイズを取得する機能をすでに実現できています。取得したサイズがファイル自身の属性のサイズとまったく同じではないことに気付いた友人もいるかもしれませんが、実際、PHP メソッドを通じてサイズを取得するときにわずかなエラーが発生するのはごく普通のことであり、無視できます。 PHPでファイルサイズを計算する方法

推奨チュートリアル:

PHP ビデオ チュートリアル

以上がPHPでファイルサイズを計算する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート