Ciao!
Sto cercando di far visualizzare un'immagine che ho memorizzato in un database. Solo che mi fa vedere solo il codice binario (o quello che è). Specifico che nel database l'immagine l'ho salvata con BLOB e nel campo dove ci sarebbe il file mi appare solo [BLOB - 64,0 KiB].
In una pagina mi fa vedere dei link che rimandano alle immagini (cliccandoci sopra dovrebbe far apparire, in un'altra pagina, la foto). Questo è il codice (all'interno del tag <body>):
Codice PHP:
<?php
include('connessione.php');
$sql = "SELECT codiceFoto, Titolo, Autore FROM FotoDaApprovare ORDER BY codiceFoto ASC";
$res = mysql_query($sql,$conn) or die ("Errore! Selezione dati dalla tabella FotoDaApprovare non riuscita. " .mysql_error ());
while ($row = mysql_fetch_array($res)) {
echo "
<a class='linkFoto' href=\"mostra_foto.php?id=$row[codiceFoto]\">[/b]FOTO[b]: $row[Titolo], [b]AUTORE[/b]: $row[Autore]</a>";
}
?>
Fin qui tutto ok.
Questo è il codice della pagina mostra_foto.php che mi dovrebbe prendere il file immagine e mostrarlo (si trova sempre all'interno del <body>).
Codice PHP:
<?php
if (isset($_GET['id'])) { //se l'id è passato
$id = $_GET['id'];
include('connessione.php');
$sql = "SELECT codiceFoto, File, TipoFile FROM FotoDaApprovare WHERE codiceFoto=\"$id\" ";
$res = mysql_query($sql,$conn) or die ("Errore! Selezione dati dalla tabella FotoDaApprovare non riuscita. " .mysql_error());
$row = mysql_fetch_array($res);
if ($row['codiceFoto'] != $id) {
echo "<u>L'id dell'immagine non esiste.</u>";
}
else {
header ("Content-type: " .$row['TipoFile']);
echo "$row[File]";
}
}
?>
Ho seguito un manuale che si trova qui MrWebmaster
Ricordo che mi visualizza solo il codice e non l'immagine vera e propria. Ho provato anche mettendo il tag <img>, ma niente, l'immagine non la mette e affianco al quadratino dell'immagine c'è sempre il codice.
L'errore è nel database (quindi nella tabella delle immagini) o nei codici PHP secondo voi?