Masz tutaj zasadniczo dwa problemy:
-
Jako
$thumb
zawiera dane binarne obrazu, przeglądarka nie zrozumie ich, chyba że powiesz przeglądarce, jakie to dane (np.image/jpg
). -
Musisz poinformować przeglądarkę, gdzie znajdują się dane.
Załóżmy, że chcesz utworzyć obraz z miniaturą na tej stronie:
<td><img src="..." alt="thumb"></td>
src
atrybut informuje przeglądarkę, gdzie może znaleźć dane obrazu. Jest więc używany do rozwiązania problemu 2. Oczekuje Uniform Resource Locator (URI).
Jak więc zdobyć $thumb
na URI? Można to zrobić na wiele sposobów, w tym link w komentarzu
.
Jeśli jednak obrazek nie jest zbyt duży i nie trzeba go specjalnie buforować (np. HTML powinien być buforowany, ale nie obraz kciuka), możesz skorzystać z data:
Schemat URI
:
$thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);
Następnie możesz wyprowadzić tę zmienną jako src
wartość atrybutu:
<td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>
Mam nadzieję, że to będzie pomocne.
Pełna odpowiedź:
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>";