本篇 ShengYu 介紹 PHP 圖片上傳儲存到 MySQL 資料庫範例,在現代網頁開發中,圖片上傳和顯示是非常常見的功能。本文將詳細介紹如何使用 PHP 上傳圖片並將其儲存到 MySQL 資料庫中,並從資料庫中檢索並顯示圖片的完整流程。這個教程將幫助您輕鬆實現這一功能。
步驟 1:建立 MySQL 資料庫和表
首先,我們需要建立一個資料庫和一個表來儲存圖片的相關資訊。以下是 SQL 語句:
1 2 3 4 5 6 7 8 9
| CREATE DATABASE image_upload;
USE image_upload;
CREATE TABLE images ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) NOT NULL, image LONGBLOB NOT NULL );
|
步驟 2:建立 HTML 表單
接下來,我們需要建立一個 HTML 表單,讓使用者可以選擇並上傳圖片。這個表單將使用 POST 方法送出圖片。
1 2 3 4 5 6 7 8 9 10 11 12
| <!DOCTYPE html> <html> <head> <title>Upload Image</title> </head> <body> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="image" required> <input type="submit" name="upload" value="Upload"> </form> </body> </html>
|
步驟 3:處理圖片上傳的 PHP 程式碼 (upload.php
)
我們需要編寫一個 PHP 腳本來處理表單送出,將圖片儲存到 MySQL 資料庫中。以下是 upload.php
的程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "image_upload";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); }
if (isset($_POST['upload'])) { $imageName = $_FILES['image']['name']; $imageTmpName = $_FILES['image']['tmp_name'];
$imageData = file_get_contents($imageTmpName);
$sql = "INSERT INTO images (name, image) VALUES (?, ?)"; $stmt = $conn->prepare($sql); $stmt->bind_param("sb", $imageName, $imageData); $stmt->send_long_data(1, $imageData);
if ($stmt->execute()) { echo "圖片上傳成功!"; } else { echo "圖片上傳失敗: " . $stmt->error; }
$stmt->close(); }
$conn->close(); ?>
|
步驟 4:顯示圖片的 PHP 程式碼 (display.php
)
最後,我們需要一個 PHP 腳本來從資料庫中檢索並顯示圖片。以下是 display.php
的程式碼:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php $servername = "localhost"; $username = "root"; $password = ""; $dbname = "image_upload";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); }
$sql = "SELECT id, name, image FROM images"; $result = $conn->query($sql);
if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { echo "<div>"; echo "<h3>" . $row['name'] . "</h3>"; echo '<img src="data:image/jpeg;base64,' . base64_encode($row['image']) . '"/>'; echo "</div>"; } } else { echo "沒有圖片。"; }
$conn->close(); ?>
|
總結
以上步驟詳細介紹了如何使用 PHP 上傳圖片並將其儲存到 MySQL 資料庫中,以及如何從資料庫中檢索並顯示圖片。透過這個教程,您可以輕鬆地在您的網頁應用中實現圖片上傳和顯示的功能。
以上就是 PHP 圖片上傳儲存到 MySQL 資料庫範例介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!
其它相關文章推薦
如果你想學習 PHP 相關技術,可以參考看看下面的文章,
PHP實現圖片上傳與顯示功能的完整指南
PHP 和 PDO 進行資料庫操作
PHP 執行發生錯誤在 Chrome/Firefox 上顯示 Error 500,要怎麼讓 PHP 顯示錯誤
如何使用 PHP 上傳檔案:步驟與範例指南
如何在 PHP 中實現上傳檔案並儲存到 MySQL 資料庫