|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
[MySql]Estrarre immagini da un database
Ciao a tutti ho bisogno nuovamente del vostro aiuto...
![]() Come si fa ad estrarre da un database un immagine precedentemente memorizzata visualizzando proprio l'immagine e non il suo codice.... io ho fatto una roba del genere: $sql = "SELECT id,type,immagine FROM immagini WHERE id='$id'"; $result = @mysql_query($sql) or die(mysql_error ()); $row = @mysql_fetch_array($result); $id_img = $row['id']; $type = $row['type']; $img = $row['immagine']; if (!$id_img) { echo "Id sconosciuto"; }else{ @header ("Content-type: ".$type); echo $img; } }else{ echo "Impossibile soddisfare la richiesta."; } ma mi visualizza roba del tipo @#!1Aw# ecc ecc ![]() Grazie! |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
cambia questo
Codice:
echo $img; Codice:
echo "<img src=\"'.$img.'\"/>; |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Grazie per avermi risposto!
Se sicuro di aver scritto bene?perchè mi da un errore di sintassi... |
![]() |
![]() |
![]() |
#4 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Comunque continua a darmi sempre il binario....
![]() |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
ma perché metti anche il mime type? prova a toglierlo
cmq si..mancavano gli apici alla fine..così è corretto: Codice:
echo "<img src=\"'.$img.'\"/>"; |
![]() |
![]() |
![]() |
#6 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Cioè tu dici di togliere la riga $type = $row['type']; ?
La riga @header ("Content-type: ".$type); la lascio così? Grazie per l'aiuto comunque! |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
nel campo immagine c'è il binario dell'immagine?
se si fai così: Codice:
// Content type header('Content-type: image/jpeg'); // Resample $image_p = imagecreatetruecolor($width, $height); //create $image= imagecreatefromstring($data); imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width, $height); imagejpeg($image_p); imagedestroy($image_p); ciao |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
forse è più attendibile questo esempio:
http://it.php.net/manual/it/function...fromstring.php |
![]() |
![]() |
![]() |
#9 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Niente da fare...il punto è che non riesco proprio a capire dove sbaglio....
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
Quote:
|
|
![]() |
![]() |
![]() |
#11 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
guarda ho provato un po in tutti i modi ma continuo a visualizzare sempe e solo il binario.
Se chiamo la funzione imagecreatefromstring mi da errore...forse sbaglio a estrarre la stringa da passargli come argomento ma nel mio codice se non sbaglio dovrebbe essere $img = $row['immagine']; |
![]() |
![]() |
![]() |
#12 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
domanda banale...ma dello script che crea l'immagine come lo invochi?
perchè se il tuo script che fa il comando header ecc lo devi richiamare così <img src=tuoscript.php> |
![]() |
![]() |
![]() |
#13 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
guarda qua:
<?php $db=mysql_connect("localhost","root","") or die ("Impossibile collegarsi al database"); mysql_select_db("foto",$db) or die ("Impossibile collegarsi al database utentisito"); if (isset($_GET['id'])) { $id = @intval($_GET['id']); @include 'config.php'; $query="SELECT id,type,immagine FROM immagini WHERE id='$id'"; $result=mysql_query($query) or die ("no file"); while($row=mysql_fetch_array($result)) { ?> <br><p> <img src="downloadfile1.php?id=<?php echo $row["id"]; ?>" ></p> facendo così mi viene fuori la classica X di esplorer che non riesce a bisualizzare l'immagine,è un passo avanti?almeno non mi esce il binario.... |
![]() |
![]() |
![]() |
#14 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
si un passo in avanti...ora resta da capire come mai non si genera un immagine corretta nel file php
|
![]() |
![]() |
![]() |
#15 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Tu hai idea di cosa si può fare?
![]() |
![]() |
![]() |
![]() |
#16 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Ho fatto dei passi avanti per risolvere il problema...
ho notato che se il codice php è inserito nei tag body di una pagina html il risultato è il binario dell'immagine e non l'immagine vera. Se creo una pagina con solo codice php funziona benissimo e visualizzo l'immagine. Ora ho pensato,ditemi se sbaglio, che l'header che se crea per visualizzare l'immagine non va "d'accordo" con l'header della pagina html. Secondo voi è possibile che accada ciò? |
![]() |
![]() |
![]() |
#17 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
si assolutamente per fare quello che vuoi nel php che crea l'immagine non deve comparire nessun tag html.
|
![]() |
![]() |
![]() |
#18 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
Quindi se io voglio visualizzare un'immagine del database in una pagina web non posso farlo?
|
![]() |
![]() |
![]() |
#19 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Innanzitutto non è quando viene richiesta la pagina web che devi mandare in output l'immagine. Quando viene richiesta la pagina web dovrai mandare in output il tag <img> il cui attributo 'src' punta ad un altro script che dovrà essere quello a mandare in output i dati binari della immagine.
Quindi, ricapitolando, dovrai mandare in output una cosa del tipo: <img src="immagine.php?id=......" width="blabla" height="blabla"> Nello script immagine.php dovrai ricevere l'ID passato, fare la query sul db e mandare in output i dati binari della immagine. Ricordati solo di inviare l'header Content-Type corretto (a seconda del tipo di immagine) prima di mandare l'immagine. E sopratutto non mandare null'altro (che so ... spazi o roba del genere).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#20 |
Junior Member
Iscritto dal: Feb 2007
Messaggi: 19
|
ok grazie ora provo.
volevo chiedervi un'altra cosa: ho memorizzato in un campo del database l'url di immagine,come faccio a visualizzare l'immagine? nel campo text l'url è in forma C:www img322.gif è corretta? grazie |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 17:34.