如何從Base64 資料URI 有效地在伺服器端保存PNG 映像
使用Canvas2Image 等工具在客戶端建立映像時,經常需要將產生的Base64 字串轉換為伺服器上的實際PNG 檔案。使用 PHP 的 base64_decode() 函數可以有效地實現這一點。
提取和解碼Base64 數據
要從Base64 字串中提取圖像數據,請按照以下步驟操作:
$data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data);
這段程式碼逐行:
儲存PNG檔案
擷取並解碼資料後,您可以使用 file_put_contents() 將其作為 PNG文件簡單地保存到伺服器:
file_put_contents('/tmp/image.png', $data);
One-Liner解決方案:
或可以將提取、解碼、保存合併成一個簡潔的one-liner:
$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
錯誤處理:
為了確保資料完整性,請考慮驗證影像類型並在Base64 解碼期間檢查潛在錯誤:
if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { // ... (additional error handling and processing) }
以上是如何從 Base64 資料 URI 高效地保存伺服器端 PNG 映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!