Làm cách nào để truy xuất hình ảnh blob từ cơ sở dữ liệu mysql bằng php?
Tôi đang cố hiển thị 4 hình ảnh bằng cơ sở dữ liệu PHP và MySQL. Tôi phải hiển thị 4 hình ảnh dưới dạng hàng Show
Tôi sử dụng bảng cars với các trường (`id_car`, `car_image1`, `car_image2`, `car_image3`, `car_image4`), với tất cả các hình ảnh là kiểu dữ liệu blob $id = $_GET['id']; $link = mysql_connect("localhost", "root", ""); mysql_close($link); Tôi chỉ có thể hiển thị 1 hình ảnh và không thể hiển thị các hình ảnh khác. Vì tôi là người mới sử dụng công nghệ này nên tôi cần trợ giúp Nói chung, khi chúng tôi tải lên tệp hình ảnh bằng PHP, hình ảnh đã tải lên được lưu trữ trong một 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. Tuy nhiên, nếu bạn không muốn chiếm dung lượng 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 trên máy chủ bằng cơ sở dữ liệu MySQL. Thậ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ề dung lượng máy chủ và cần dung lượng 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 cần 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 chứ không phải 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 Trước khi bắt đầu tích hợp tệp tải lên 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 MySQLMySQL 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, có sẵn bốn loại BLOB – TINYBLOB, BLOB, MEDIUMBLOB 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, cần có một bảng trong cơ sở dữ liệu. SQL sau đây tạo một bảng 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;0 với trường kiểu dữ liệu LONGBLOB trong cơ sở dữ liệu MySQL 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 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;1 đượ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 ( 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;2), tên người dùng ( 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;3), mật khẩu ( 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;0) và tên ( 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;1) theo thông tin đăng nhập cơ sở dữ liệu MySQL của bạn // Database configuration Biểu mẫu tải lên hình ảnhTạo biểu mẫu HTML có trường nhập tệp để chọn tệp hình ảnh để tải lên. Hãy đảm bảo rằng thẻ chứa các thuộc tính sau
Select Image File: Lưu trữ tệp hình ảnh trong cơ sở dữ liệu (tải lên. php)Tệp 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;2 xử lý quá trình tải lên hình ảnh và chèn cơ sở dữ liệu
// Include the database configuration file Truy xuất hình ảnh từ cơ sở dữ liệu (xem. php)Trong tệp 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;3, chúng tôi sẽ lấy nội dung hình ảnh từ cơ sở dữ liệu MySQL và liệt kê chúng trên trang web
// Include the database configuration file 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ậnBài hướng dẫn các bạn tích hợp chức năng upload file mà không cần lưu trữ file trên server. Bạn có thể sử dụng tập lệnh mẫu này để tải lên và lưu trữ hình ảnh trong cơ sở dữ liệu, đồng thời 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 quá trình tải lên hình ảnh trở nên thân thiện với người dùng, hãy sử dụng jQuery để tải lên các tệp có thanh tiến trình bằng Ajax và PHP Bạn có muốn nhận trợ giúp triển khai hay sửa đổi hoặc nâng cao chức năng của tập lệnh này không? Làm cách nào để lấy dữ liệu BLOB từ cơ sở dữ liệu MySQL?Truy xuất Hình ảnh và Tệp được lưu trữ dưới dạng BLOB từ Bảng MySQL bằng Python . Cài đặt MySQL Connector Python bằng cách sử dụng pip Thứ hai, Thiết lập kết nối cơ sở dữ liệu MySQL trong Python Sau đó, Xác định truy vấn CHỌN để tìm nạp các giá trị cột BLOB từ bảng cơ sở dữ liệu Thực hiện truy vấn CHỌN bằng con trỏ. hành hình() Sử dụng con trỏ Làm cách nào tôi có thể truy xuất hình ảnh đã tải lên bằng php?tệp php xử lý quá trình tải ảnh lên và chèn cơ sở dữ liệu. Kiểm tra xem người dùng có chọn tệp hình ảnh để tải lên không. Truy xuất nội dung của tệp hình ảnh theo tmp_name bằng hàm PHP file_get_contents() . 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.
Làm cách nào chúng tôi có thể lưu trữ và truy xuất hình ảnh từ cơ sở dữ liệu trong php?Vì vậy, câu hỏi đặt ra là làm thế nào bạn có thể lưu trữ hình ảnh trong cơ sở dữ liệu mysql? . BLOB là viết tắt của đối tượng dữ liệu lớn nhị phân và được sử dụng để lưu trữ lượng lớn dữ liệu nhị phân. Sử dụng điều này, bạn không chỉ có thể lưu trữ hình ảnh mà cả âm thanh và các tệp đa phương tiện khác trong cơ sở dữ liệu. . TINYBLOB VỪABLOB LONGBLOB Làm cách nào để tìm nạp hình ảnh từ cơ sở dữ liệu trong php và hiển thị trong Div?Làm cách nào để tìm nạp hình ảnh từ cơ sở dữ liệu bằng php và hiển thị trong Div? . Hình ảnh bảng đã tạo. Bây giờ hãy tạo tệp cấu hình để định cấu hình tên tệp kết nối cơ sở dữ liệu config. php tải lên hình ảnh Hình ảnh cấu trúc thư mục Hình ảnh được chèn vào cơ sở dữ liệu Hình ảnh được tải lên và chèn vào cơ sở dữ liệu Đã tìm nạp hình ảnh từ bảng cơ sở dữ liệu |