[英]How to get the Content Size of PHP Generated Image?
嗨,我有一個網站,其中使用php GD庫制作圖像,我想知道我如何獲得這些隨機大小圖像的大小(以KB或MB為單位)。 請任何人知道。
您可以通過執行以下操作獲取圖像的文件大小:
$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無法准確地獲取有關變量大小的信息。 解決此問題的一種方法是,在生成圖像用作近似值之前和之后檢查內存使用情況 。
另一種方法是構建圖像,然后設置JPEG / GIF / PNG / etc。 數據到變量。 使用strlen獲取該字符串的大小(以字節為單位),這將是您的圖像大小。 我不確定如何在不設置輸出緩沖區,回顯GD變量,然后關閉並捕獲緩沖區的情況下,從GD獲取數據字符串。 我知道的唯一其他輸出是將其寫入磁盤。 這帶我們去...
將圖像文件保存到臨時目錄,然后使用filesize函數獲取文件大小。 這將是最准確的,因為在寫入圖像時,您還將設置要寫入的圖像文件的類型,這會影響大小。 它還將涉及服務器上更多的磁盤活動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.