當前位置: 首頁> 最新文章列表> PHP圖片操作:如何獲取圖片的尺寸和文件大小

PHP圖片操作:如何獲取圖片的尺寸和文件大小

gitbox 2025-06-06

介紹

在日常Web開發中,圖片上傳和處理是一項基礎而常見的功能。獲取圖片的尺寸和大小信息,能夠幫助我們進行合理的佈局和資源控制。本文將介紹如何使用PHP 的內置函數,快速讀取圖片的尺寸、MIME 類型以及文件大小。

使用getimagesize() 獲取圖片尺寸

在PHP 中,可以通過getimagesize()函數獲取圖片的詳細尺寸信息。該函數返回一個數組,其中包含以下內容:

  • 寬度(像素)
  • 高度(像素)
  • 圖像類型代號
  • HTML 的height 屬性字符串
  • HTML 的width 屬性字符串
  • 圖像類型的MIME 描述
  • JPEG 文件中的縮略圖信息(如有)
  • SWF 文件中的縮略圖信息(如有)

以下是一個簡單示例,用於讀取本地圖片的尺寸:

 
$size = getimagesize("example.jpg");
$width = $size[0];
$height = $size[1];

上述代碼會將example.jpg的寬度和高度分別賦值到$width$height變量中。

獲取遠程圖片尺寸

getimagesize()同樣支持讀取遠程圖片的信息,只需要將圖片的完整URL 作為參數傳入即可:

 
$size = getimagesize("https://example.com/example.jpg");
$width = $size[0];
$height = $size[1];

這樣就能獲取到遠程圖片的尺寸數據,和本地圖片使用方式相同。

獲取圖片的MIME 類型

除尺寸之外, getimagesize()還可以返回圖片的MIME 類型信息,常用於內容驗證或設置響應頭:

 
$size = getimagesize("example.jpg");
$mime_type = $size['mime'];

示例中返回的MIME 類型可能為image/jpegimage/png等。

獲取圖片文件大小

使用PHP 獲取圖片大小非常簡單,通過filesize()函數即可實現,單位為字節:

 
$size = filesize("example.jpg");

上述代碼會將example.jpg的文件大小賦值給$size變量。

格式化文件大小為友好單位

為了更好地展示文件大小,可以通過以下函數將其轉換為更易讀的格式(如KB、MB):

 
function format_size($bytes) {
    $units = array('B', 'KB', 'MB', 'GB', 'TB');
    $i = 0;
    while ($bytes >= 1024) {
        $bytes /= 1024;
        $i++;
    }
    return round($bytes, 2) . ' ' . $units[$i];
}

$size = filesize("example.jpg");
$formatted_size = format_size($size);

這個方法能將原始字節值轉化為如10.5 KB這樣更友好的顯示格式。

總結

通過PHP 提供的getimagesize()filesize()等函數,我們可以快速、高效地獲取圖片的尺寸、類型以及文件大小信息。無論是處理本地圖片還是遠程圖片,這些工具都能大大提升開發效率,並增強用戶體驗。