從伺服器端角度儲存Base64 PNG 映像
Web 應用程式通常利用「Canvas2Image」等不同JavaScript 工具將畫布轉換為PNG以繪圖Base64 編碼的圖像。後續的任務是將這些base64字串儲存在伺服器上。本文深入探討如何在 PHP 中實現此目的。
使用PHP 處理Base64 PNG 圖像
要有效處理Base64 PNG 圖像,以下步驟至關重要:
PHP 程式碼範例
以下是封裝此過程的 PHP 程式碼片段:<?php // Extract and decode the base64 data $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...'; list($type, $data) = explode(';', $data); list(, $data) = explode(',', $data); $data = base64_decode($data); // Save the image to the server file_put_contents('/tmp/image.png', $data); ?>
單線替代方案
對於簡潔的替代方案,您可以使用這樣的單行:$data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
錯誤檢查和驗證
為了確保資料完整性,請考慮實作錯誤檢查和驗證。這是一個範例:if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) { $data = substr($data, strpos($data, ',') + 1); $type = strtolower($type[1]); // jpg, png, gif if (!in_array($type, ['jpg', 'jpeg', 'gif', 'png'])) { throw new \Exception('invalid image type'); } $data = str_replace(' ', '+', $data); $data = base64_decode($data); if ($data === false) { throw new \Exception('base64_decode failed'); } } else { throw new \Exception('did not match data URI with image data'); } file_put_contents("img.{$type}", $data);
以上是如何在 PHP 伺服器上高效保存 Base64 PNG 映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!