首頁  >  文章  >  後端開發  >  如何使用 FileInfo 從 PHP 中的 Base64 編碼字串中提取圖像類型?

如何使用 FileInfo 從 PHP 中的 Base64 編碼字串中提取圖像類型?

Susan Sarandon
Susan Sarandon原創
2024-10-23 21:57:02886瀏覽

How to Extract Image Type from Base64-Encoded String in PHP Using FileInfo?

在PHP 中從Base64 字串偵測影像類型

人們可能會遇到對原始影像檔案的存取受到限制,只留留下一個Base64 的情況- 編碼字串表示形式。從這樣的字串確定圖像類型可能具有挑戰性。雖然 imagecreatefromstring() 函數從解碼的字串創建圖像資源,但它隱藏了原始圖像類型資訊。

解決方案:利用 FileInfo

FileInfo 提供了一個可行的解決方案對於這個問題。透過使用其 finfo_buffer() 方法,可以直接從 Base64 解碼的字串中檢索影像的 MIME 類型。此方法有兩個參數:一個開啟的檔案句柄(使用 finfo_open() 取得)和原始影像資料。

範例程式碼:

<code class="php">// Encoded base64 string
$encoded_string = "....";

// Decode the string
$imgdata = base64_decode($encoded_string);

// Open FileInfo handle
$f = finfo_open();

// Determine MIME type
$mime_type = finfo_buffer($f, $imgdata, FILEINFO_MIME_TYPE);</code>

$mime_type變數現在將包含影像的 MIME 類型,例如「image/jpeg」或「image/png」。然後可以使用此資訊來確定用於保存影像的適當檔案副檔名。

以上是如何使用 FileInfo 從 PHP 中的 Base64 編碼字串中提取圖像類型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn