Show
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 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, 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 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) theo thông tin xác thực cơ sở dữ liệu MySQL của bạn. <?php Hình ảnh tải lên mẫuTạ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.
<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 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 chèn cơ sở dữ liệu và tải lên hình ảnh.
<?php Truy xuất hình ảnh từ cơ sở dữ liệu (View.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ẽ 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.
<?php 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ậnHướ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 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, ví dụ: Hiển thị hồ sơ người dùng hoặc hình ảnh sản phẩm, tạo bộ sưu tập hình ảnh, v.v. Trong hướng dẫn này, tôi hiển thị cho bạn cả hai phương thức để lưu trữ và truy xuất một hình ảnh từ bảng cơ sở dữ liệu.Tạo biểu mẫu HTML.. . . . Chọn hình ảnh để tải lên:. . . . . Chọn hình ảnh để tải lên:.Lưu trữ tệp hình ảnh trong cơ sở dữ liệu (Tải lên ... Kiểm tra xem người dùng chọn 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 cách sử dụ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 .. Hiển thị trạng thái tải lên hình ảnh lên người dùng .. Làm thế nào bạn sẽ lưu trữ hình ảnh trong cơ sở dữ liệu?Làm thế nào để lưu một 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ư "TextBox", "Fileupload" và "Nút" trong phần thiết kế của trang đó (.. Chúng ta có thể tải lên hình ảnh trong cơ sở dữ liệu không?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, ví dụ:Hiển thị hồ sơ người dùng hoặc hình ảnh sản phẩm, tạo bộ sưu tập hình ảnh, v.v. Trong hướng dẫn này, tôi hiển thị cho bạn cả hai phương thức để lưu trữ và truy xuất một hình ảnh từ bảng cơ sở dữ liệu. for later use e.g. display user profile or product image, create the image gallery, etc. In this tutorial, I show you both of the methods for storing and retrieving an image from the database table. |