Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

32

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã tạo cơ sở dữ liệu MySQL với bảng bằng PHPMyAdmin. Tôi đã tạo bảng này bằng cột Blob để giữ tệp JPEG.

Tôi có vấn đề liên quan đến biến PHP




1 ở đây.

Mã của tôi cho đến nay: (catalog.php):





Làm thế nào tôi có thể nhận được kết quả $ $ từ PHP vào HTML để tôi có thể hiển thị nó trong thẻ




2?

Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

hỏi ngày 17 tháng 10 năm 2011 lúc 11:20Oct 17, 2011 at 11:20

6

Bạn không thể. Bạn cần tạo một tập lệnh PHP khác để trả về dữ liệu hình ảnh, ví dụ: getImage.php. Thay đổi catalog.php thành:




Sau đó getImage.php là


Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

Đã trả lời ngày 17 tháng 10 năm 2011 lúc 11:29Oct 17, 2011 at 11:29

Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

Daiscogdaiscogdaiscog

10,7K5 Huy hiệu vàng49 Huy hiệu bạc61 Huy hiệu Đồng5 gold badges49 silver badges61 bronze badges

7

Về mặt kỹ thuật, bạn cũng có thể đặt dữ liệu hình ảnh vào thẻ IMG, sử dụng URI dữ liệu.


Có một số trường hợp đặc biệt mà điều này thậm chí có thể hữu ích, mặc dù trong hầu hết các trường hợp, bạn nên phục vụ hình ảnh thông qua một kịch bản riêng biệt như Daiscog gợi ý.

Đã trả lời ngày 17 tháng 10 năm 2011 lúc 14:27Oct 17, 2011 at 14:27

Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

Ilmari Karonenilmari KaronenIlmari Karonen

48.4K9 Huy hiệu vàng91 Huy hiệu bạc151 Huy hiệu Đồng9 gold badges91 silver badges151 bronze badges

1

Bạn cần truy xuất và đưa thông tin vào những gì bạn cần.

while($row = mysql_fetch_array($result)) {
 echo "img src='",$row['filename'],"' width='175' height='200' />";
}

Đã trả lời ngày 17 tháng 10 năm 2011 lúc 11:27Oct 17, 2011 at 11:27

Hướng dẫn show image from database to html - hiển thị hình ảnh từ cơ sở dữ liệu sang html

James Williamsjames WilliamsJames Williams

4.1911 Huy hiệu vàng18 Huy hiệu bạc35 Huy hiệu Đồng1 gold badge18 silver badges35 bronze badges

thêm




3 sau mysql_query () của bạn;

HTML của bạn




4

Đã trả lời ngày 17 tháng 10 năm 2011 lúc 11:39Oct 17, 2011 at 11:39

PunitpunitPunit

1.1121 Huy hiệu vàng8 Huy hiệu bạc14 Huy hiệu đồng1 gold badge8 silver badges14 bronze badges

1

Nói chung, khi chúng tôi tải lên tệp hình ảnh trong PHP, hình ảnh được tải lên được lưu trữ trong thư mục của máy chủ và tên hình ảnh tương ứng được lưu trữ trong cơ sở dữ liệu. Tại thời điểm hiển thị, tệp được lấy từ máy chủ và hình ảnh được hiển thị trên trang web. Nhưng, nếu bạn không muốn tiêu thụ không gian của máy chủ, tệp chỉ có thể được lưu trữ trong cơ sở dữ liệu. Bạn có thể tải lên một hình ảnh mà không cần lưu trữ tệp vật lý trên máy chủ bằng cơ sở dữ liệu MySQL. Nó rất dễ dàng lưu trữ và truy xuất hình ảnh từ cơ sở dữ liệu bằng PHP và MySQL.

Nếu bạn lo lắng về không gian máy chủ và cần không gian trống trên máy chủ của mình, bạn có thể chèn tệp hình ảnh trực tiếp vào cơ sở dữ liệu mà không tải nó lên thư mục của máy chủ. Quy trình này giúp tối ưu hóa không gian máy chủ vì nội dung tệp hình ảnh được lưu trữ trong cơ sở dữ liệu thay vì máy chủ. Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách lưu trữ các tệp hình ảnh vào cơ sở dữ liệu MySQL và truy xuất hình ảnh từ cơ sở dữ liệu bằng PHP.retrieve images from the database using PHP.

Trước khi bắt đầu tích hợp tải lên tệp với cơ sở dữ liệu, hãy xem cấu trúc tệp.

store_retrieve_image_from_database/
├── dbConfig.php
├── index.php
├── upload.php
├── view.php
└── css/
    └── style.css

Chèn tệp hình ảnh trong MySQL

MySQL có kiểu dữ liệu BLOB (đối tượng lớn nhị phân) có thể chứa một lượng lớn dữ liệu nhị phân. Kiểu dữ liệu Blob là hoàn hảo để lưu trữ dữ liệu hình ảnh trong cơ sở dữ liệu. Trong MySQL, bốn loại blob có sẵn - tinyblob, blob, trung bình và longblob. Kiểu dữ liệu Longblob là hoàn hảo để lưu trữ dữ liệu tệp hình ảnh.

Tạo bảng cơ sở dữ liệu

Để lưu trữ nội dung tệp, một bảng được yêu cầu trong cơ sở dữ liệu. SQL sau đây tạo bảng




5 với trường Kiểu dữ liệu LongBlob trong cơ sở dữ liệu MySQL.LONGBLOB data type field in the MySQL database.

CREATE TABLE `images` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `image` longblob NOT NULL,
  `created` datetime NOT NULL DEFAULT current_timestamp(),
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Cấu hình cơ sở dữ liệu (dbconfig.php)

Tệp




6 được sử dụng để kết nối và chọn cơ sở dữ liệu. Chỉ định máy chủ cơ sở dữ liệu (



7), tên người dùng (



8), mật khẩu (



9) và tên (

0) theo thông tin xác thực cơ sở dữ liệu MySQL của bạn.

// Database configuration  
$dbHost     "localhost"
$dbUsername "root"
$dbPassword "root"
$dbName     "codexworld"// Create database connection 
$db = new mysqli($dbHost$dbUsername$dbPassword$dbName);  // Check connection 
if ($db->connect_error) { 
    die(
"Connection failed: " $db->connect_error); 
}

Hình ảnh tải lên mẫu

Tạo biểu mẫu HTML với trường đầu vào tệp để chọn tệp hình ảnh để tải lên. Đảm bảo thẻ chứa các thuộc tính sau.<form> tag contains the following attributes.

  • method="post"
  • enctype = "Multipart/Form-data"
<form action="upload.php" method="post" enctype="multipart/form-data">
    <label>Select Image File:label>
    <input type="file" name="image">
    <input type="submit" name="submit" value="Upload">
form>

Lưu trữ tệp hình ảnh trong cơ sở dữ liệu (upload.php)

Tệp


1 xử lý quá trình chèn cơ sở dữ liệu và tải lên hình ảnh.

  • Kiểm tra xem người dùng chọn một tệp hình ảnh để tải lên.
  • Truy xuất nội dung của tệp hình ảnh bằng TMP_NAME bằng hàm PHP File_Get_Contents ().PHP file_get_contents() function.
  • Chèn nội dung nhị phân của hình ảnh vào cơ sở dữ liệu bằng PHP và MySQL.
  • Hiển thị trạng thái tải lên hình ảnh cho người dùng.
// Include the database configuration file  
require_once 'dbConfig.php'; // If file upload form is submitted
$status $statusMsg '';
if(isset(
$_POST["submit"])){
    
$status 'error';
    if(!empty(
$_FILES["image"]["name"])) {
        
// Get file info
        
$fileName basename($_FILES["image"]["name"]);
        
$fileType pathinfo($fileNamePATHINFO_EXTENSION); // Allow certain file formats
        
$allowTypes = array('jpg','png','jpeg','gif');
        if(
in_array($fileType$allowTypes)){
            
$image $_FILES['image']['tmp_name'];
            
$imgContent addslashes(file_get_contents($image)); // Insert image content into database
            
$insert $db->query("INSERT into images (image, created) VALUES ('$imgContent', NOW())");

                         if(

$insert){
                
$status 'success';
                
$statusMsg "File uploaded successfully.";
            }else{
                
$statusMsg "File upload failed, please try again.";
            } 
        }else{
            
$statusMsg 'Sorry, only JPG, JPEG, PNG, & GIF files are allowed to upload.';
        }
    }else{
        
$statusMsg 'Please select an image file to upload.';
    }
}
// Display status message
echo $statusMsg;
?>

Truy xuất hình ảnh từ cơ sở dữ liệu (View.php)

Trong tệp


2, chúng tôi sẽ truy xuất nội dung hình ảnh từ cơ sở dữ liệu MySQL và liệt kê chúng trên trang web.

  • Các tham số Dữ liệu, Charset và Base64 trong thuộc tính SRC, được sử dụng để hiển thị Blob hình ảnh từ cơ sở dữ liệu MySQL.display image BLOB from MySQL database.



0

Tải lên nhiều hình ảnh và lưu trữ trong cơ sở dữ liệu bằng PHP và MySQL

Sự kết luận

Hướng dẫn này giúp bạn tích hợp chức năng tải lên tệp mà không cần lưu trữ các tệp trên máy chủ. Bạn có thể sử dụng tập lệnh ví dụ này để tải lên và lưu trữ hình ảnh trong cơ sở dữ liệu và tìm nạp hình ảnh từ cơ sở dữ liệu và hiển thị chúng trên trang web bằng PHP và MySQL. Để làm cho hình ảnh tải lên quá trình thân thiện với người dùng, hãy sử dụng jQuery để tải lên các tệp với thanh tiến trình bằng AJAX và PHP.

Bạn có muốn nhận trợ giúp thực hiện hoặc sửa đổi hoặc tăng cường chức năng của tập lệnh này không? Gửi yêu cầu dịch vụ trả phí

Nếu bạn có bất kỳ câu hỏi nào về kịch bản này, hãy gửi nó cho cộng đồng QA của chúng tôi - đặt câu hỏi

Làm thế nào truy xuất hình ảnh từ cơ sở dữ liệu MySQL và hiển thị trong thẻ HTML?

PHP $ id = $ _get ['id']; // Thực hiện một số xác thực ở đây để đảm bảo ID an toàn $ link = mysql_connect ("localhost", "root", ""); mysql_select_db ("dvddb"); $ sql = "chọn dvdimage từ dvd trong đó id = $ id"; $ result = mysql_query ("$ sql"); $ row = mysql_fetch_assoc ($ result); mysql_close ($ link); Tiêu đề ("Loại nội dung: hình ảnh/jpeg"); Echo ...$id = $_GET['id']; // do some validation here to ensure id is safe $link = mysql_connect("localhost", "root", ""); mysql_select_db("dvddb"); $sql = "SELECT dvdimage FROM dvd WHERE id=$id"; $result = mysql_query("$sql"); $row = mysql_fetch_assoc($result); mysql_close($link); header("Content-type: image/jpeg"); echo ...

Làm cách nào để lấy dữ liệu hình ảnh từ cơ sở dữ liệu?

Lưu trữ và truy xuất hình ảnh trong cơ sở dữ liệu..
Bước 1) Tạo bảng cơ sở dữ liệu.1-DATABS.SQL.....
Bước 2) PHP Kết nối với cơ sở dữ liệu.2-Connect-db.php.....
Bước 3) Tải hình ảnh lên cơ sở dữ liệu.3-upload.php.....
Bước 4) Lấy và hiển thị hình ảnh.Đầu ra hình ảnh trực tiếp ..

Làm thế nào gửi dữ liệu từ cơ sở dữ liệu đến HTML?

Bạn cần làm theo vài bước liên quan đến truy vấn của bạn:..
Đầu tiên, cài đặt một máy chủ ảo trên máy tính của bạn (ví dụ: XAMPP, WAMP).....
Tiếp theo, chúng tôi sẽ yêu cầu một trình soạn thảo trong đó mã HTML phải được viết.....
Mở Trình soạn thảo văn bản Notepad ++ và viết mã HTML để thiết kế trang đăng ký HTML ..

Làm thế nào chúng ta có thể tìm nạp hình ảnh từ cơ sở dữ liệu trong PHP và hiển thị trong HTML?

Tìm nạp hình ảnh từ cơ sở dữ liệu trong PHP và hiển thị trong bảng tương tự như tìm nạp bất kỳ dữ liệu nào từ cơ sở dữ liệu và hiển thị trong bảng HTML ...
1 Tạo bảng cơ sở dữ liệu MySQL.....
2 Tải lên hình ảnh và lưu trữ dữ liệu trong bảng cơ sở dữ liệu bằng PHP.....
3 Tìm nạp hình ảnh và dữ liệu từ cơ sở dữ liệu bằng PHP ..