こんにちは私はphpGDライブラリを使用して画像を作成するWebサイトを持っていますが、これらのランダムサイズの画像のサイズ(KBまたはMB)を取得する方法を知りたいです。誰でもそれについて知ってください。
2 に答える
これを行うことにより、画像のファイルサイズを取得できます。
$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];
}
?>
詳細はこちらをご覧ください。
PHP には、変数のサイズに関する正確な情報を取得する方法がありません。これを回避する 1 つの方法は、近似値として使用するイメージを生成する前後に メモリ使用量をチェックすることです。
もう 1 つの方法は、画像を作成してから、JPEG/GIF/PNG などを設定することです。データを変数に。strlenを使用して、その文字列のサイズをバイト単位で取得します。これが画像サイズになります。出力バッファーを設定せずに GD からデータの文字列を取得する方法がわかりません。GD 変数をエコーし、バッファーを閉じてキャプチャします。私が知っている唯一の他の出力は、ディスクに書き込むことです。それは私たちに...
イメージ ファイルを一時ディレクトリに保存し、関数filesizeでファイル サイズを取得します。画像を書き込むときに、書き込む画像ファイルのタイプも設定するため、これが最も正確です。これはサイズに影響します。また、サーバー上でより多くのディスク アクティビティが必要になります。