Você tem basicamente dois problemas aqui:
-
Como$thumb
contém os dados binários da imagem, o navegador não a entenderá a menos que você diga ao navegador quais são os dados (por exemplo,image/jpg
).
-
Você precisa informar ao navegador onde estão os dados.
Digamos que você queira criar uma imagem exibindo a miniatura nessa página:
<td><img src="..." alt="thumb"></td>
O
src
O atributo informa ao navegador onde ele pode encontrar os dados da imagem. Portanto, é usado para resolver o problema 2. Ele espera um Uniform Resource Locator (URI). Então, como obter o
$thumb
em um URI? Existem várias maneiras de fazer isso, incluindo a vinculado em um comentário
. No entanto, se a imagem não for muito grande e você não precisar armazená-la em cache especificamente (por exemplo, o HTML deve ser armazenado em cache, mas não a imagem em miniatura), você pode usar um
data:
Esquema de URI
:$thumbSrc = 'data:image/jpg;base64,'.base64_encode($thumb);
Você pode então produzir essa variável como o
src
valor do atributo:<td><img src="<?php echo $thumbSrc; ?>" alt="thumb"></td>
Espero que isso seja útil.
Resposta completa:
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>";