Làm cách nào để lưu trữ URL hình ảnh trong cơ sở dữ liệu bằng PHP?

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 để lưu trữ URL hình ảnh trong cơ sở dữ liệu bằng PHP?

Tải xuống


nội dung


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 để lưu trữ hình ảnh trong db?

Cách lưu hình ảnh vào cơ sở dữ liệu .
Tạo một bảng trong cơ sở dữ liệu để lưu trữ hình ảnh và một số dữ liệu liên quan khác mà tôi có thể tìm nạp hình ảnh từ bảng
Tạo một trang web có một trang chứa một số điều khiển như "hộp văn bản", "Tải tệp lên" và "Nút" trong phần thiết kế của trang đó (

Làm cách nào để tải lên hình ảnh trong cơ sở dữ liệu SQL bằng php?

Nhận phần mở rộng tệp bằng hàm pathinfo() trong PHP và xác thực định dạng tệp để kiểm tra xem người dùng có chọn tệp hình ảnh hay không. Tải hình ảnh lên máy chủ bằng hàm move_uploaded_file() trong PHP. Chèn tên tệp hình ảnh vào cơ sở dữ liệu MySQL bằng PHP . Trạng thái tải lên sẽ được hiển thị cho người dùng.

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 để lưu hình ảnh đã tải lên trong thư mục bằng php?