getimagesize() 是 PHP 內建函數,可快速取得圖片寬高、類型、MIME 類型等資訊,支援本地檔案與遠端 URL。以下示範如何解析回傳陣列。
<?php
$info = getimagesize('https://www.45it.com/templets/default/images/logo.gif');
print_r($info);
?>
函數回傳關聯陣列,結構如下:
Array
(
[0] => 550 // 圖片寬度 (像素)
[1] => 190 // 圖片高度 (像素)
[2] => 3 // 圖片類型常數 (1=GIF, 2=JPG, 3=PNG, 4=SWF...)
[3] => width="550" height="190" // 可直接插入 <img> 標籤的屬性字串
[bits] => 8 // 色深 (bits per pixel)
[mime] => image/png // MIME 類型
)
| 常數值 | 對應格式 | 常數名稱 |
|---|---|---|
| 1 | GIF | IMAGETYPE_GIF |
| 2 | JPG | IMAGETYPE_JPEG |
| 3 | PNG | IMAGETYPE_PNG |
| 4 | SWF | IMAGETYPE_SWF |
| 5 | PSD | IMAGETYPE_PSD |
| 6 | BMP | IMAGETYPE_BMP |
| 7 | TIFF (intel) | IMAGETYPE_TIFF_II |
| 8 | TIFF (motorola) | IMAGETYPE_TIFF_MM |
| 9 | JPC | IMAGETYPE_JPC |
| 10 | JP2 | IMAGETYPE_JP2 |
| 11 | JPX | IMAGETYPE_JPX |
| 12 | JB2 | IMAGETYPE_JB2 |
| 13 | SWC | IMAGETYPE_SWC |
| 14 | IFF | IMAGETYPE_IFF |
| 15 | WBMP | IMAGETYPE_WBMP |
| 16 | XBM | IMAGETYPE_XBM |
| 17 | ICO | IMAGETYPE_ICO |
| 18 | WEBP | IMAGETYPE_WEBP |
echo '<img ' . $info[3] . ' src="..." />';$_FILES['file']['tmp_name'] 使用,防止偽裝副檔名的惡意檔案。E_WARNING 並回傳 false,建議用 @ 抑制或先檢查 file_exists。