Blob 獲取 Php
在 Web 開發過程中,我們通常需要從數據庫中讀取“大型對象”(blob)。MySQL、Oracle、MSSQL 等關系型數據庫都支持 Blob 數據類型,而 PHP 可以很容易地處理這些數據。
事實上,將圖片、視頻等數據存儲在數據庫中是一種不太明智的做法,因為它消耗了大量的空間和性能。更好的方式是將這些數據存儲在服務器上(例如 Amazon S3)并在數據庫中保存它們的文件路徑。
但是,一些項目仍然需要在數據庫中存儲 Blob 數據。在 PHP 中進行此操作并不困難。
假設我們有一個名為“my_blob_table”的表,它包含以下字段:id(主鍵),name(字符串),picture(Blob)。
<?php // 連接到數據庫 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "my_blob_database"; $conn = new mysqli($servername, $username, $password, $dbname); // 查詢圖片數據 $id = 1; $sql = "SELECT picture FROM my_blob_table WHERE id = $id"; $result = $conn->query($sql); // 輸出圖片 if ($result->num_rows >0) { $row = $result->fetch_assoc(); header("Content-Type: image/jpeg"); echo $row["picture"]; } else { echo "No picture found."; } $conn->close(); ?>
此代碼將從“my_blob_table”表中選擇主鍵為“1”的記錄,并顯示其中包含的 Blob 圖像。
可以使用 PHP 將 Blob 數據插入到數據庫中:
<?php // 連接到數據庫 $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "my_blob_database"; $conn = new mysqli($servername, $username, $password, $dbname); // 讀取圖片文件 $filename = "image.jpg"; $handle = fopen($filename, "r"); $image = fread($handle, filesize($filename)); fclose($handle); // 將圖片數據插入表中 $name = "My Image"; $sql = "INSERT INTO my_blob_table (name, picture) VALUES ('$name', '$image')"; $conn->query($sql); $conn->close(); ?>
該代碼從“image.jpg”文件中讀取一張圖片,并將其插入到“my_blob_table”表中。請注意,如果這張圖片太大,必須為 PHP 增加內存限制,否則可能會導致錯誤。
總之,在 PHP 中處理 Blob 數據是一件容易的事情,但是應該考慮到其缺點。如果可能,將這些數據保存在文件系統中,并將它們的路徑存儲在數據庫中。
上一篇json調用php
下一篇blob 圖片 php