У вас есть две основные проблемы:
Поскольку $thumb
содержит двоичные данные изображения, браузер не поймет его, если вы не сообщите браузеру, какие это данные (например, image/jpg
).
Вы должны указать браузеру, где находятся данные.
Допустим, вы хотите создать отображение изображениябольшой палец на этой странице:
<td><img src="..." alt="thumb"></td>
Атрибут src
сообщает браузеру, где он может найти данные изображения.Таким образом, он используется для решения проблемы 2. Он ожидает Uniform Resource Locator (URI).
Так как же получить $thumb
в URI?Есть несколько способов сделать это, включая один , связанный в комментарии .
Однако, если изображение не очень большое и вам не нужно специально его кэшировать (например,HTML должен кэшироваться, но не изображение большого пальца), вы можете использовать data:
URI-схему Wikipedia :
$thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);
Затем вы можете вывести эту переменную в качестве значения атрибута src
:
<td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>
Надеюсь, это полезно.
Полный ответ:
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>";