Ciao a tutti.
Ho messo in una tabella del mio db un campo 'img' di tipo blob.ù
Ora voglio che nella mia pagina php si veda l'immagine.
Come faccio?
Ho provato un un semplice print ("$img"); ma vedo le peggio schifezze lol
![]()
Ciao a tutti.
Ho messo in una tabella del mio db un campo 'img' di tipo blob.ù
Ora voglio che nella mia pagina php si veda l'immagine.
Come faccio?
Ho provato un un semplice print ("$img"); ma vedo le peggio schifezze lol
![]()
Ciao,
nella variabile $img hai il percorso su filesystem dell'immagine vero?
Se così fosse, basta fare un
Codice PHP:
echo ("[img]$img[/img]");
--Cosimo
MAIL: cosimo.g18@gmail.com
no
dentro $img c'è il file immagine vera e propria perchè nella tabella del db il campo immagine è di tipo blob quindi è un binary.
Che istruzione usi per estrarre questo dato?Originariamente inviato da Sir IMOTEPH
no
dentro $img c'è il file immagine vera e propria perchè nella tabella del db il campo immagine è di tipo blob quindi è un binary.
Dai un'occhiata qui.
http://dev.mysql.com/doc/refman/5.0/en/blob.html
Ti consiglio comunque di salvare solo il path ed il nome della stessa. Lo puoi gestire meglio.
Quoto pienamente...Originariamente inviato da mosquito70
Che istruzione usi per estrarre questo dato?
Dai un'occhiata qui.
http://dev.mysql.com/doc/refman/5.0/en/blob.html
Ti consiglio comunque di salvare solo il path ed il nome della stessa. Lo puoi gestire meglio.
--Cosimo
MAIL: cosimo.g18@gmail.com
Faccio una normalissima select al dbOriginariamente inviato da mosquito70
Che istruzione usi per estrarre questo dato?
ma chiaramente la echo di $img mi stampa tutti i simboli strani.Codice PHP:
$query="SELECT a.id, a.ext, a.descrizione, b.img FROM centrale_file a, centrale_file_tipo b
WHERE a.rif = b.id";
if (!$result= mysql_db_query($db_name, $query, $db_link))
print("non funziona la $query".mysql_error());
while (list($id_ext, $ext, $descrizione, $img) = mysql_fetch_array($result))
{
echo("<td align=\"left\">".$ext."</td>");
echo("<td align=\"left\">".$descrizione."</td>");
echo("<td align=\"center\">".$img."</td>");
echo("</tr>");
}
Forse non mi sono spiegato bene: nella 'tabella centrale_file_tipo', nel campo 'img' c'è l'immagine e non il path di dove andare a prendere l'immagine nel file system.
Di fatti, il campo img è grande (per la prima immagine in tabella) 1,7KByte. Se ci fosse il path sarebbe grande (quando è tanto) 100Byte
Se non ho capito male, quello che devo fare è dire al php di interpretare una stringa binaria letta dal db. Il problema è che non so come fargliela interpretare. Ci sarà qualche funzione o roba simile....
Prova ad aggiungere in alto questa riga:
ammesso che sia un jpeg...Codice PHP:
header('Content-Type: image/jpeg');
Saluti!
--Cosimo
MAIL: cosimo.g18@gmail.com
nessun cambiamento.
l'immagine è una gif quindi ho anche provato a cambiare /jpeg in /gif ma nulla!
Non hai le idee molto chiare. Per poter visualizzare un'immagine in quel modo, il codice che la legge dal db si deve trovare in un file che fa solo quello. Provo a sintetizzare partendo dal codice che hai postato
Non ti serve qui leggere l'immagine, quindi ho tolto la join perché mi pare che nella tabella b ci fosse solo quella; invece ho aggiunto il campo rif che ti serve per recuperare l'immagineCodice PHP:
$query="SELECT a.id, a.ext, a.descrizione, a.rif FROM centrale_file a";
if (!$result= mysql_db_query($db_name, $query, $db_link))
print("non funziona la $query".mysql_error());
while (list($id_ext, $ext, $descrizione, $img) = mysql_fetch_array($result))
{
echo("<td align=\"left\">".$ext."</td>");
echo("<td align=\"left\">".$descrizione."</td>");
echo("<td align=\"center\"><a href=\"img.php?id=$img\"></a></td>");
echo("</tr>");
}
file img.php:
Però ti serve un sistema per sapere di che tipo è l'immagine, se non sei sicuro che sia sempre una gifCodice PHP:
$query="SELECT b.img FROM centrale_file_tipo b
WHERE b.id = $_GET[img] ";
if (!$result= mysql_db_query($db_name, $query, $db_link))
print("non funziona la $query".mysql_error());
$row = mysql_fetch_assoc($result);
$img = $row['img'];
header('Content-Type: image/gif');
echo $img;
Non basta controllare il mime dell'immagine?
E poi a seconda del mime metto /gif /jpeg /...
comunque ora provo il tuo codice
grazie in anticipo