首頁 >web前端 >js教程 >如何使用 PHP 從 Base64 資料 URI 在伺服器端保存 PNG 映像?

如何使用 PHP 從 Base64 資料 URI 在伺服器端保存 PNG 映像?

Susan Sarandon
Susan Sarandon原創
2024-12-09 16:43:17497瀏覽

How to Save PNG Images Server-Side from Base64 Data URIs using PHP?

從Base64 資料URI 在伺服器端儲存PNG 映像

要使用PHP 將Nihilogic 的「Canvas2Image」JavaScript 工具產生的Base64 轉換為伺服器上的實際字串PNG文件,你需要執行以下操作步驟:

  1. 擷取base64影像資料。 將資料URI標頭與實際的base64資料分開。這是片段:

    $data = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABE...';
    list($type, $data) = explode(';', $data);
    list(, $data) = explode(',', $data);
  2. 解碼 Base64 資料。 將編碼資料轉換回二進位字串。

    $data = base64_decode($data);
  3. 將影像儲存到檔案。 寫入解碼資料到伺服器上的 PNG 檔案。

    file_put_contents('/tmp/image.png', $data);
  4. 替代的單行方法: 您也可以使用此單行指令來擷取、解碼,然後儲存影像:

    $data = base64_decode(preg_replace('#^data:image/\w+;base64,#i', '', $data));
  5. 確保正確的錯誤處理:實作機制來偵測無效資料 URI、失敗的 Base64 解碼或不正確的影像類型,例如:

    if (preg_match('/^data:image\/(\w+);base64,/', $data, $type)) {
        // Valid data URI
    } else {
        throw new \Exception('Invalid data URI');
    }
    
    if ($data === false) {
        throw new \Exception('Base64 decode failed');
    }

以上是如何使用 PHP 從 Base64 資料 URI 在伺服器端保存 PNG 映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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