首頁 > 後端開發 > PHP問題 > php 怎麼將blob轉為base64

php 怎麼將blob轉為base64

PHPz
發布: 2023-04-05 15:44:01
原創
904 人瀏覽過

在實際開發中,我們有時需要把一些二進位流轉換成字串形式,例如將圖片轉換成字串形式保存在資料庫中。在 PHP 中,我們可以使用 blob 欄位來保存二進位流,但有時我們需要把 blob 欄位轉換成 base64 編碼,以便在網頁中展示。在本文中,我們將討論如何將 PHP 中的 blob 欄位轉換成 base64 編碼。

首先,我們需要從資料庫中讀取 blob 欄位的二進位資料。我們可以使用 PHP 的 PDO 擴充來操作資料庫。以下是一個簡單的範例程式碼:

try {
  $dbh = new PDO("mysql:host=localhost;dbname=test", $user, $pass);
  $stmt = $dbh->prepare("SELECT image FROM images WHERE id = ?");
  $stmt->bindParam(1, $id);
  $stmt->execute();
  $image = $stmt->fetchColumn();
  $dbh = null;
} catch (PDOException $e) {
  print "Error!: " . $e->getMessage() . "<br/>";
  die();
}
登入後複製

在上述程式碼中,我們使用 PDO 預處理語句來從資料庫中讀取 id 為 $id 的記錄中的 image 欄位資料。 $image 變數將會保存二進位的資料流。

接下來,我們需要將二進位資料流轉換成 base64 編碼。 PHP 內建的 base64_encode() 函數可以實現這個功能。以下是範例程式碼:

$base64_image = base64_encode($image);
登入後複製

將二進位資料流 $image 轉換成 base64 編碼後,儲存在 $base64_image 變數中。

最後,我們可以在網頁中使用 base64 編碼的圖片資料。以下是範例程式碼:

<img src="data:image/jpeg;base64,<?php echo $base64_image; ?>" alt="image" />
登入後複製

上述程式碼將會在瀏覽器中顯示一張圖片。其中,data:image/jpeg;base64, 表示圖片的編碼格式和 base64 編碼的圖片資料。

在開發中,我們可以使用上述的方法將 blob 欄位轉換成 base64 編碼,以便在網頁中進行展示。這樣可以避免在每次開啟頁面的時候都需要從伺服器下載圖片。同時,也可以節約伺服器頻寬和資源。

以上是php 怎麼將blob轉為base64的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板