顯示儲存在MySQL 資料庫中的BLOB 映像
在這個程式設計問題中,我們遇到了顯示上傳到「的最後5 張圖像”的挑戰。將「儲存」表儲存在 MySQL 中。作為 PHP 和資料庫管理的新手,提問者表示很難實現解決方案。
為了解決這個問題,我們可以深入研究所提供的程式碼,並提供一個檢索並顯示所需影像的解決方案。
資料庫連線與影像儲存
PHP 腳本啟動資料庫連線並將影像儲存在「store」表中。 $image 變數包含上傳影像的二進位表示,該影像保存在資料庫中的 BLOB 欄位中。
$image = addslashes(file_get_contents($_FILES['image']['tmp_name'])); if (!$insert = mysql_query("INSERT INTO store VALUES ('', '$image_name', '$image')")) echo "Problem Uploading Image.";
影像擷取並顯示
到擷取並顯示影像,使用單獨的 PHP 腳本 (get.php)。此腳本接受代表資料庫中影像 ID 的參數 (id)。
$id = addslashes($_REQUEST['id']); $image = mysql_query("SELECT * FROM store WHERE id=$id"); $image = mysql_fetch_assoc($image); $image = $image['image'];
然後對檢索到的圖像 ($image) 進行編碼並顯示為 HTML 標記中的圖像。
header("Content-type: image/jpeg"); echo $image;
顯示最後5 張圖片的解決方案
要顯示最後5 張上傳的圖片,我們可以實現以下邏輯:
<code class="php">$sql = "SELECT image FROM `store` ORDER BY id DESC LIMIT 5"; $result = mysqli_query($db, $sql); while ($arraySomething = mysqli_fetch_array($result)) { echo "<img src='php/imgView.php?imgId=" . $arraySomething . "' />"; }</code>
此程式碼擷取二進位檔案按時間倒序表示「store」表中的最後5 個影像。每個圖像的二進位資料 ($arraySomething) 都會傳遞到 imgView.php 腳本,以便使用 HTML img 標籤中的 src 屬性進行渲染。
透過實作此解決方案,使用者可以有效地在圖庫或中顯示最後 5 個上傳的圖像任何想要的格式。
以上是我們如何使用 PHP 檢索並顯示以 BLOB 形式儲存在 MySQL「store」表中的最後 5 個上傳的映像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!