我們如何使用 PHP 檢索並顯示以 BLOB 形式儲存在 MySQL「store」表中的最後 5 個上傳的映像?

Mary-Kate Olsen
發布: 2024-11-02 07:32:30
原創
505 人瀏覽過

How can we retrieve and display the last 5 uploaded images stored as BLOBs in a MySQL

顯示儲存在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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!