Salve,
sto cercando di memorizzare immagini su un DB mySQL per poi ritrovarle e visualizzarle in una pagina web. Per salvarle ho usato la sintassi:
codice:
$handle = fopen($image, "rb");
$var = fread($handle, filesize($image));
fclose($handle);
$var = base64_encode($var);
query="INSERT INTO ... VALUES (...,".$var.", ....)";
e per visualizzarla mi sono creato il file php picscript:
codice:
<?php
include("dbinfo.inc.php");
mysql_connect($server,$username,$password);
$imgKind = $_REQUEST[imgKind];
$imgId=$_REQUEST[imgId];
@mysql_select_db($database) or die( "<=error>=Unable to select database<=/error>=");
$query="SELECT ".$imgKind." AS imagedata".
" FROM coatings".
" WHERE id=".$imgId;
//echo $query;
$result=mysql_query($query);
$imagebytes = mysql_result($result,0,"imagedata");
header("Content-type: image/jpeg");
print $imagebytes;
?>
e poi ho provato a visualizzare l'immagine con:
[CODE]echo '<img src=picscript.php?imgKind=tgReheating&imgId='.$id. '>
';[CODE]
Tuttavia invece di visualizzarmi l'immagine il browser mi riporta l'errore:
l'immagine .... non può essere visualizzata perchè contiene degli errori.
In particolare, visualizzando l'immagine senza l'header jpg, vedo che le diverse righe hanno una / all'inizio come in:
/9j/4AAQSkZJRgABAQEBLAEsAAD/4XBcRXhpZgAASUkqAAQAAAAIAc3QAowcAAQAAAAOGh4gBowcAA QAAAAGZmqICowcACAAAAERwAAABpAMAAQAAAAAAx8gCpAMAAQA AAAAA2uEDpAMAAQAAAAAA8vMEpAUAAQAAAExwAAAFpAMAAQAAA LQAAAA
dandomi l'idea che le immagini vadano preventivamente processate, ma non ho trovato nulla negli esempi.
Dove posso aver sbagliato e, soprattutto, come facio a acpire se l'errore è nel salvataggio o nella visualizzazione?
Grazie, Fabrizio