Về cơ bản, bạn có hai vấn đề ở đây:
-
Dưới dạng
$thumb
chứa dữ liệu nhị phân của hình ảnh, trình duyệt sẽ không hiểu nó trừ khi bạn cho trình duyệt biết dữ liệu đó là gì (ví dụ:image/jpg
). -
Bạn cần cho trình duyệt biết vị trí của dữ liệu.
Giả sử bạn muốn tạo một hình ảnh hiển thị ngón tay cái trong trang đó:
<td><img src="..." alt="thumb"></td>
src
thuộc tính cho trình duyệt biết nơi nó có thể tìm thấy dữ liệu của hình ảnh. Vì vậy, nó được sử dụng để giải quyết vấn đề 2. Nó mong đợi một Bộ định vị tài nguyên thống nhất (URI).
Vậy làm cách nào để lấy $thumb
vào một URI? Có nhiều cách để làm điều đó, bao gồm một cách được liên kết trong nhận xét
.
Tuy nhiên, nếu hình ảnh không quá lớn và bạn không cần phải lưu nó vào bộ nhớ cache cụ thể (ví dụ:HTML nên được lưu vào bộ nhớ cache, nhưng không phải hình ảnh ngón tay cái), bạn có thể sử dụng data:
Lược đồ URI
:
$thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);
Sau đó, bạn có thể xuất biến đó dưới dạng src
giá trị của thuộc tính:
<td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>
Hy vọng điều này sẽ hữu ích.
Câu trả lời đầy đủ:
echo "<table>";
echo "<tr class ='tablehead'><td>Name</td><td>Location</td><td>Review</td><td>Image</td><td>Thumb</td></tr>";
while ($row = mysql_fetch_array($query))
{
echo "<tr>";
echo "<td>" . $row['user_fname'] . "</td>";
echo "<td>" . $row['user_location'] . "</td>";
echo "<td>" . $row['user_review'] . "</td>";
echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_thumb']), '" alt='thumb'></td>';
echo '<td><img src="data:image/jpg;base64,', base64_encode($row['user_image']), '" alt='image'></td>';
echo "</tr>";
}
echo "</table>";