Newsgroup: it.comp.www.php
Titolo: immagini da campo BLOB

ciao,
ho realizzato un piccolo script per l'inserimento in un db di alcune
immagini.
queste immagini (di piccole dimensioni, per ora) vengono immagazzinate in un
campo BLOB.
un altro script interroga il db e, tramite l'id che gli passo, dovrebbe
scrivere l'header relativo (image/jpeg o image/gif) prendere l'immagine e
mostrarmela.
solo che:
- se l'immagine e jpeg, mi da' un messagio del tipo "l'immagine non e'
visibile perche' contiene degli errori"
- se e' gif, semplicemente non mi fa vedere nulla, e non da' messaggi di
errore...
qualcuno sa dirmi dove puo' essere il problema?
grazie
r
ps tutto cio' e' stato testato in locale su winxp con il pacchetto easyphp
1.6.0.0
-- 
http://www.rpiga.net/
http://www.megaptera.tk/
tristan_da_kuna(at)
hotmail.com
{lo-fi/no-fi design}

 qualcuno sa dirmi dove puo' essere il problema?
non ho ancora lavorato per bene con i campi BLOB per immagazzinare e
richiamare immagini, però forse l'esperienza con GD serve a qualcosa.
per richiamare l'immagine in una pagina devi utilizzare un file a parte che
tramite parametri ti mostra l'immagine, questi sono i miei files:
image.php
<?php
Header ("Content-type: image/jpeg");
$im = imagecreate (460, 30);
$white = ImageColorAllocate ($im, 255, 255, 255);
$black = ImageColorAllocate ($im, 0, 0, 0);
$text = $HTTP_GET_VARS["nick"];
if($HTTP_GET_VARS["occ"]!="")$text.=" - [ ".$HTTP_GET_VARS["occ"]." ]";
ImageTTFText ($im, 20, 0, 10, 20, $black, "/percorso/a/tibeba__.ttf",
$text);
ImageJPEG ($im);
ImageDestroy ($im);
?>
dove lo richiamo:
test.php
$uname = $classe->getVar("uname");
$occ = $classe->getVar("user_occ");
echo "<img
src='image.php?nick=".urlencode($uname)."&occ=".urlencode($occ)."'>";
il succo sta che bisogna usare un file separato per richiamare l'immagine
per via dell'header che manda al browser.
hope this helps.
--
kain
http://www.kuht.it

 di errore...
Prova apostare un po' di codice, ad iniziare dall'inserimento nel DB.
-- 
I'am what I'am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1

 ha scritto nel messaggio
news:btkuc5$n8q$1...@newsreader.mailgate.org...


grazie per le risposte...
ho risolto aggiornando a easyphp 1.7 (e quindi aggiornando le versioni dei
server php/mysql) :)
questi sono degli script che ho utilizzato per studiarmi la cosa...
--------------
addpic.php
--------------
<html>
<body>
<form name="addpic" method="post" action="addpic.php"
enctype="multipart/form-data">
<input type="file" name="pict">
<input type="submit" value="add pic"></form>
<?php
include 'conn.inc'; // contiene variabili di connessione
$dbname = "database";
$dbtable = "pics";
if (isset($_FILES['pict']))
{
 echo "Adding picture to DB";
 $MySQL_Link = mysql_connect($dbhost,$dbuser,$dbpasswd);
 mysql_select_db($dbname);
 $file = fopen($_FILES['pict']['tmp_name'], "r");
 $pic = fread($file, 1000000);
 $tempo = "'".mysql_escape_string($pic)."'";
 mysql_query("INSERT INTO pics VALUES (NULL,$tempo)");
}
?>
</body>
</html>
--------------
getpic.php
--------------
<?php
header("Content-type: image/jpeg"); // da cambiare a seconda del tipo di
immagine
include 'conn.inc'; // contiene variabili di connessione
$dbname = "database";
$dbtable = "pics";
$MySQL_Link = mysql_connect($dbhost,$dbuser,$dbpasswd);
mysql_select_db($dbname);
$pic = mysql_query("SELECT pic FROM pics WHERE id = '{$_GET['id']}'",
$MySQL_Link);
$data = mysql_fetch_array($pic);
echo $data['pic'];
?>
--------------
pic.html
--------------
<html>
<body>
<p>blah blah</p>
<p><img src="getpic.php?id=1"></p>
<p><img src="getpic.php?id=2"></p>
</body>
</html>
--------------
ciao  & grazie
r
