1

こんにちは私はphpGDライブラリを使用して画像を作成するWebサイトを持っていますが、これらのランダムサイズの画像のサイズ(KBまたはMB)を取得する方法を知りたいです。誰でもそれについて知ってください。

4

2 に答える 2

1

これを行うことにより、画像のファイルサイズを取得できます。

$image_size_in_bytes = filesize($path_to_image);

URLを使用して画像のファイルサイズを取得するには、次のコードを使用します:( cURL拡張子がインストールされている必要があることに注意してください)

<?php

    // URL to file (link)
    $file = 'http://example.com/file.zip';

    $ch = curl_init($file);
    curl_setopt($ch, CURLOPT_NOBODY, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    $data = curl_exec($ch);
    curl_close($ch);

    if (preg_match('/Content-Length: (\d+)/', $data, $matches)) {
       // Contains file size in bytes
        $contentLength = (int)$matches[1];
    }
?>

詳細はこちらをご覧ください

于 2013-01-15T18:39:06.837 に答える
0

PHP には、変数のサイズに関する正確な情報を取得する方法がありません。これを回避する 1 つの方法は、近似値として使用するイメージを生成する前後に メモリ使用量をチェックすることです。

もう 1 つの方法は、画像を作成してから、JPEG/GIF/PNG などを設定することです。データを変数に。strlenを使用して、その文字列のサイズをバイト単位で取得します。これが画像サイズになります。出力バッファーを設定せずに GD からデータの文字列を取得する方法がわかりません。GD 変数をエコーし​​、バッファーを閉じてキャプチャします。私が知っている唯一の他の出力は、ディスクに書き込むことです。それは私たちに...

イメージ ファイルを一時ディレクトリに保存し、関数filesizeでファイル サイズを取得します。画像を書き込むときに、書き込む画像ファイルのタイプも設定するため、これが最も正確です。これはサイズに影響します。また、サーバー上でより多くのディスク アクティビティが必要になります。

于 2013-01-15T19:01:20.597 に答える