Làm cách nào để chèn và hiển thị hình ảnh trong PHP và Mysqli?

Bạn có thể lưu hình ảnh tải lên của mình trong bảng cơ sở dữ liệu để sử dụng sau này. g. hiển thị hồ sơ người dùng hoặc hình ảnh sản phẩm, tạo thư viện hình ảnh, v.v.

Có hai cách để làm điều này -

  • Lưu đường dẫn hoặc tên của hình ảnh
  • Mã hóa hình ảnh thành định dạng base64

Trong hướng dẫn này, tôi chỉ cho bạn cả hai phương pháp lưu trữ và truy xuất hình ảnh từ bảng cơ sở dữ liệu

Làm cách nào để chèn và hiển thị hình ảnh trong PHP và Mysqli?

Tải xuống


nội dung

  1. Cấu trúc bảng
  2. Cấu hình
  3. Lưu đường dẫn hoặc tên
  4. cơ sở64_encode()
  5. Phần kết luận

1. Cấu trúc bảng

Trong ví dụ này, tôi đang sử dụng bảng images để lưu trữ dữ liệu

  • name – Trường này được sử dụng để lưu trữ tên tệp hình ảnh
  • hình ảnh - Trường này được sử dụng để lưu trữ giá trị hình ảnh được tạo base64
CREATE TABLE `images` (
  `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  `name` varchar(200) NOT NULL,
  `image` longtext NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

2. Cấu hình

Tạo tệp config.php để cấu hình cơ sở dữ liệu

Mã hoàn thành


3. Lưu đường dẫn hoặc tên

Bạn có thể lưu đường dẫn đầy đủ hoặc tên của hình ảnh trong bảng cơ sở dữ liệu MySQL của mình. Truy xuất tên hình ảnh hoặc đường dẫn từ cơ sở dữ liệu MySQL và sử dụng nó để tạo nguồn hình ảnh

Ở đây, tôi đang lưu trữ tên tệp trong cơ sở dữ liệu MySQL

Mã hoàn thành



Lấy lại

Chọn tên hoặc đường dẫn của hình ảnh mà bạn đã lưu trữ trong bảng cơ sở dữ liệu và sử dụng nó trong nguồn hình ảnh

Ví dụ


4. base64_encode()

Bạn có thể lưu trữ hình ảnh đầy đủ trong bảng Cơ sở dữ liệu bằng cách chuyển đổi nó sang định dạng base64. Bạn không cần lưu trữ tham chiếu hình ảnh trong bảng Cơ sở dữ liệu e. g. tên, đường dẫn và không yêu cầu lưu trữ hình ảnh trên máy chủ của bạn

Trong PHP phương thức base64_encode() được sử dụng để chuyển đổi base64. Trước khi lưu trữ nó trong cơ sở dữ liệu, tôi thêm văn bản data:image/'.$imageFileType.';base64, với giá trị base64

Bây giờ, khi bạn cần hiển thị hình ảnh, chỉ cần tìm nạp giá trị và sử dụng nó làm nguồn hình ảnh

Lưu ý – Trong ví dụ, tôi tải hình ảnh lên thư mục. Bạn có thể xóa mã tải lên nếu bạn chỉ muốn hình ảnh có thể truy cập được thông qua các giá trị được lưu trữ base64 trong cơ sở dữ liệu

Mã hoàn thành



Lấy lại

Chọn giá trị base64 được lưu trữ và sử dụng nó trong nguồn hình ảnh

Ví dụ


5. Kết luận

Theo tôi, thay vì lưu trữ một hình ảnh trong cơ sở dữ liệu MySQL ở định dạng base64, tốt hơn hết là lưu trữ nó trong máy chủ và lưu tham chiếu trong bảng cơ sở dữ liệu để theo dõi vị trí

Làm cách nào để hiển thị hình ảnh từ cơ sở dữ liệu trong php?

Đang tải xuống tệp Zip .
Tải xuống tệp zip ở cuối trang này
bao gồm\config. php. Thêm chi tiết đăng nhập cơ sở dữ liệu của bạn (kết nối MySQLi)
bao gồm\config-pdo. php. Thêm chi tiết đăng nhập cơ sở dữ liệu của bạn (kết nối PDO)
mục lục. php. Tập lệnh PHP để hiển thị hình ảnh từ cơ sở dữ liệu bằng MySQLi
chỉ mục-pdo. .
sql_dump

Làm cách nào để chèn hình ảnh vào cơ sở dữ liệu MySQL bằng php?

php" method="post" enctype="multipart/form-data"> Enter the Image Name:




Làm cách nào để chèn hình ảnh vào cơ sở dữ liệu trong MySQL?

Để chèn một hình ảnh vào cơ sở dữ liệu MySQL, hãy làm theo các bước dưới đây. .
Bước 1. Kết nối với cơ sở dữ liệu. Bạn có thể kết nối với cơ sở dữ liệu bằng phương thức getConnection() của lớp DriverManager. .
Bước 2. Tạo một câu lệnh đã chuẩn bị. .
Bước 3. Đặt giá trị cho người giữ chỗ. .
Bước 4. Thực hiện tuyên bố

Làm cách nào để tìm nạp hình ảnh từ thư mục trong php và hiển thị trong bảng?

php $files = glob("hình ảnh/*. *"); for ($i = 0; $i < đếm($files); $i++) { $image = $files[$i]; $supported_file = array( 'gif', 'jpg', 'jpeg'