Pagina 1 di 1

problemino visualizzazione immagini php

Inviato: gio 29 lug 2010, 10:56
da Paoletta
ciao a tutti, ho del codice con cui estraggo degli oggetti da un database e li visualizzo;

se l'oggetto in questione e' un file testuale, il browser lo mostra senza problemi con il seguente codice:

Codice: Seleziona tutto

if (is_object($arr['PHOTO_FILE'])) {
     $data = $arr['PHOTO_FILE']->load();
     $arr['PHOTO_FILE']->free();
     header('Content-Type:plain/text'');
     echo $data;
}
ma se l'oggetto e' una immagine, lo stesso codice (con header impostato a 'Content-Type:image/jpeg') non va piu' e mi mostra solamente la url della pagina; da che cosa puo' dipendere secondo voi? Grazie

Re: problemino visualizzazione immagini php

Inviato: gio 29 lug 2010, 11:16
da conraid
echo è per le stringhe e $data sembra un riferimento più che un "blob" di un'immagine e quindi ti stampa quello, prova ad usare readfile o qualcosa come echo file_get_contents($image);

http://www.php.net/manual/en/function.readfile.php
http://www.php.net/manual/en/function.f ... ntents.php


http://www.thewebsqueeze.com/web-design ... g-php.html

Re: problemino visualizzazione immagini php

Inviato: gio 29 lug 2010, 11:29
da Paoletta
il problema e' che $data e' l'oggetto: se provo a non mettere lo header la stampa che ottengo e' una enorme sequenza di caratteri strani...ma se lo aggiungo vedo solo il riferimento alla pagina...inoltre se metto il campo del file di testo al posto di quello dell'immagine il tutto funziona normalmente

Re: problemino visualizzazione immagini php

Inviato: gio 29 lug 2010, 13:13
da SIV
E se dopo aver estratto il dato dal database mettessi un controllo?
Del tipo:

se (l'oggetto è di testo) {header('Content-Type:plain/text''); echo $data;}
altrimenti se (l'oggetto è un'immagine) {header('Content-type: image/png'); imagepng($data);}

?

Re: problemino visualizzazione immagini php

Inviato: gio 29 lug 2010, 16:48
da Paoletta
non e' un problema di controllo...estraggo separatamente immmagini e files di testo; comunque ho scoperto che il server (Tomcat) non gestisce bene nemmeno le immagini presenti sul filesystem...infatti non le fa visualizzare correttamente; dove devo andare a investigare secondo voi?

Re: problemino visualizzazione immagini php

Inviato: dom 1 ago 2010, 0:48
da ilmich
Ciao,

se l'immagine recuperata la salvi (consideralo un test) su un file si vede correttamente?!?!
Forse e' sbagliato il modo con cui la memorizzi sul database e quindi di conseguenza il browser non la visualizza correttamente.

Re: problemino visualizzazione immagini php

Inviato: lun 2 ago 2010, 14:37
da ZeroUno
prova anche con:

Codice: Seleziona tutto

$ wget http://localhost/test.php -O immagine.png
$ file immagine.png
e vedi cosa ti dice

ancora meglio escludi il webserver

Codice: Seleziona tutto

$ php test.php > immagine.png
$ file immagine.png
utile è anche vedere le intestazioni

Codice: Seleziona tutto

$ curl -I http://localhost/test.php