Nếu bạn đã lưu nội dung của hình ảnh trong cơ sở dữ liệu, bạn có thể sử dụng data:
uri hiển thị nội dung này trong <img />
nhãn. Điều này cho phép bạn nhúng nội dung thuộc loại kịch câm khác vào một nội dung khác, hãy xem lược đồ URI dữ liệu
.
Nhưng bạn không thực sự nên lưu bất kỳ tệp nào (bất kể hình ảnh hay không) trong cơ sở dữ liệu. Tệp thuộc về hệ thống tệp, như tên đã gợi ý. Bạn nhận được chi phí rất lớn trong việc lưu tệp trong cơ sở dữ liệu. Đặc biệt đối với hình ảnh bạn cần (có thể) một tập lệnh php tải hình ảnh, ví dụ. nếu bạn sử dụng cái gì đó như <img src="showimage.php?id=5" alt="..." />
. Đối với mỗi hình ảnh, bạn cần gọi thêm một tập lệnh php và bạn không thu được gì. Mọi người
sẽ cho bạn biết cách tốt hơn là lưu các tệp trong hệ thống tệp và tải nó qua hệ thống tệp như bình thường. Vì vậy, bạn sử dụng các thẻ như <img src="images/foobar/xyz.png" alt="..." />
thay vì. Ngay cả "Tôi không muốn bất kỳ 'liên kết bị hỏng' nào đến hình ảnh trong cơ sở dữ liệu của tôi" đối số không được tính vì bạn chỉ sử dụng ID bên trong đường dẫn và sử dụng file_exists()
để kiểm tra xem một liên kết hình ảnh có hợp lệ hay không.
$path = 'images/useravatars/'.$row['ID'].'.png'; // as an example
if (file_exist($path)) {
echo '<img src="'.$path.'" alt="username" />';
} else {
echo '<img src="images/noimage.png" alt="No Image found" />';
}