Mysql
 sql >> Database >  >> RDS >> Mysql

Ho bisogno della mia pagina PHP per mostrare la mia immagine BLOB dal database mysql

Nel tuo caso attuale, hai due opzioni anticipate.

Il primo, e quello che non consiglio se hai numerose immagini come questa, è usare la codifica inline base64. Questo viene fatto con:

<img src="data:image/jpeg;base64,<?php echo base64_encode($image); ?>" />

Una versione copia/incolla, utilizzando il codice esistente:

echo '<dt><strong>Technician Image:</strong></dt><dd>'
     . '<img src="data:image/jpeg;base64,' . base64_encode($row2['image']) . '" width="290" height="290">'
     . '</dd>';

Il secondo metodo consiste nel creare un file PHP "immagine" che prende l'ID dell'immagine nel database come parametro della stringa di query e restituisce l'immagine. Quindi, il tuo HTML sarebbe simile a:

<img src="image.php?id=<?php echo $image_id; ?>" />

E la tua pagina PHP sarebbe simile a:

<?php
$id = (isset($_GET['id']) && is_numeric($_GET['id'])) ? intval($_GET['id']) : 0;
$image = getImageFromDatabase($id); // your code to fetch the image

header('Content-Type: image/jpeg');
echo $image;
?>