Thư viện tri thức trực tuyến
Kho tài liệu với 50,000+ tài liệu học thuật
© 2023 Siêu thị PDF - Kho tài liệu học thuật hàng đầu Việt Nam

Tài liệu Lưu nội dung file ảnh vào CSDL MYSQL pptx
Nội dung xem thử
Mô tả chi tiết
Lưu nội dung file ảnh vào CSDL MYSQL
Nhu cầu phát triển web của PHP là lưu nội dung của file ảnh vào trong một cơ sở dữ liệu (CSDL)
và sau đó là đọc nội dung của file ảnh đã lưu trong CSDL ra và hiển thị ra trình duyệt. Nhu cầu
này có một số đặc điểm sau:
TỔNG QUAN
Nhu cầu phát triển web của PHP là lưu nội dung của file ảnh vào trong một cơ sở dữ liệu (CSDL)
và sau đó là đọc nội dung của file ảnh đã lưu trong CSDL ra và hiển thị ra trình duyệt. Nhu cầu
này có một số đặc điểm sau:
● Lưu nội dung file ảnh vào CSDL thì sẽ không phụ thuộc vào đường dẫn đến thư mục chứa
hình. Nếu bạn dùng theo cách hiển thị nội dung hình ảnh theo cách truyền thống thì đường đến
file hình thật chính xác thì file hình mới hiển thị ra, chẳng may thư cấu trúc thư mục đó bị thay đổi
thì chúng ta phải cập nhật lại rất nhiều đường dẫn trên website, hay file ảnh có thể bị xóa mất
hay bạn restore hay backup bị thiếu....Chỉ thiếu một phần nhỏ là file hình không hiển thị được rồi.
Để giảm được những rủi ro này bạn dùng cách như thế này là lưu nội dung file ảnh vào CSDL
như vậy là không phụ thuộc vào đường dẫn hay cấu trúc thư mục... rất là lôi thôi. Chúng ta chỉ
phụ thuộc vào nơi chứa nội dung chủa file hình.
● Lưu nội dung file ảnh vào CSDL thì rất thuận tiện cho việc backup và restore. Trong đó dùng
cách truy cập trực tiếp đến hình thì khi backup hay restore thì chúng ta phải backup/restore rất
nhiều file nhỏ rất là mệt. Trong khi đó dùng cách lưu nội dung file ảnh vào CSDL thì chúng ta chỉ
cần backup/restore lại một file là đủ, thông thường là file SQL.
● Nếu chúng ta dùng cách truy cập trực đến file hình thì khi chúng ta upload hình lên server qua
(form upload) thì một số host không cho ta quyền ghi vào thư mục (write) thì chúng ta không đưa
hình lên trang web của mình được. Lưu file trong CSDL là một giải pháp khá thích hợp trong
hoàn cảnh này.
● Không chỉ lưu giới hạn file ảnh vào CSDL mà chúng ta còn lưu rất nhiều file khác nhau vào
CSDL. Để đơn giản chúng ta sẽ tìm hiểu cách lưu file ảnh vào CSDL MySQL và ngôn ngữ thực
hiện là PHP.
THIẾT KẾ CSDL
Chúng ta chỉ cần một bảng để lưu nội dung của một fila ảnh và trong bảng này chúng ta sẽ thiết
kế như sau:
● Cột nhận dạng (ID) của file ảnh, chúng ta dùng kiểu dữ liệu AUTO_INCREMENT để làm ID cho
các file ảnh đã lưu trong CSDL.
● Cột lưu nội dung file ảnh, đây là cột quan trọng quyết định hình ảnh sẽ hiển thị lên trình duyệt.
Nội dung của file ảnh cũa là một chuỗi nhưng dữ liệu nhị phân. Vì vậy chúng ta sẽ sử dụng kiểu
dữ liệu mediumblob để lưu nội dung của file ảnh (kiểu dữ liệu blob cũng là chuỗi nhị phân, nhưng
chiều dài tối đa chỉ có 65Kb, sẽ không đủ cho chúng ta muốn lưu một fila ảnh lớn).
● Và bảng chúng ta sẽ có cấu trúc như sau
CREATE TABLE imgData (
imgID int NOT NULL AUTO_INCREMENT,
imgContents mediumblob NOT NULL,
PRIMARY KEY (imgID)
);
LƯU NỘI DUNG FILE ẢNH VÀO CSDL
Chúng ta xem như đã có trên server. Và đoạn chương trình sau sẽ mở file ảnh thông qua tên file
để đọc nội dung của file ảnh và lưu nội dung file ảnh vào trong CSDL.
//connect vào CSDL MySQL
//host = localhost
//username = root
//password = root
$conn = mysql_connect("localhost", "root", "root");