getimagesize con foto in un db

Ciao a tutti,

ho provato ad usare la funzione getimagesize per estrapolare le informazioni di una foto che č contenuta in un db.

Errore

Warning: getimagesize(foto_mare.jpg): failed to open stream:

   
<?php    
   $result =@mysql_query("SELECT nome_file FROM tabella_files WHERE id_file='$num' ");
         $r=mysql_fetch_array($result);
         $nome_file=htmlspecialchars($r['nome_file']);
            
         list($larghezza, $altezza, $tipo, $attr) = getimagesize($nome_file);
?>

dove sta l'errore??

 :(

inviato 10 anni fa
stellina
X 0 X

Ma tu salvi l'immagine nel Db o ci salvi solo il nome e l'immagine la copy in qualche directory?

Nel primo caso posta anche la struttura della tabella...

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
modificato 10 anni fa
X 0 X

Salvo l'immagine nel db.

La tabella č cosi:

id_file int

nome_file varchar

tipo_file varchar

dati_file mediumblob

vedi

http://www.phpnews.it/content/view/213/80/

risposto 10 anni fa
stellina
X 0 X

Non mi ricordo se č corretto sinc ed ora non ho la possibilitą di provare, cmq prova cosģ:

$result =@mysql_query("SELECT dati_file FROM tabella_files WHERE id_file='$num' ");
$r=mysql_fetch_array($result);
$file=$r['dati_file'];
         
list($larghezza, $altezza, $tipo, $attr) = getimagesize($file);

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

no mi da sempre lo stesso errore

Warning: getimagesize(’Ų’ą): failed to open stream:

risposto 10 anni fa
stellina
X 0 X

mmmm...forse c'č da inviare prima l'header:

$result =@mysql_query("SELECT dati_file FROM tabella_files WHERE id_file='$num' ");
$r=mysql_fetch_array($result);
header("Content-type: ".$r['tipo_file'])
$file=$r['dati_file'];

list($larghezza, $altezza, $tipo, $attr) = getimagesize($file);

Se anche questa nn funziona non ti faccio + perdere tempo,provo a vedere stase quando torno a casa se trovo quello che avevo fatto ( xke se non ricordo male l'avevo fatto...)

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

diciamo che adesso mi scrive anche un'altro errore

Warning: Cannot modify header information - headers already sent by (output started

cmq se quando controlli il codice che hai fatto tu trovi qlc di diverso fammi sapere

grazie mille

 :bye:

risposto 10 anni fa
stellina
X 0 X

OK...

CMQ per info, quest'errore:

Warning: Cannot modify header information - headers already sent by (output started

č dovuto al fatto che c'č dell'output prima della funzione header()

per output intendo :

echo, print, codice html ecc ecc...

che viene inviato al browser prima dell'header dando quindi errore,

puoi risolvere mettendo

ob_start()

come prima istruzione della pagina...

CMQ quando vado a casa controllo sul pc se ritrovo la funzione...

ciao

Lore

risposto 10 anni fa
Lore
Lore
1
X 0 X

Ho trovato la soluzione!!

bisogna passare a getimagesize tuttto il percorso della foto contenuta nel db come scritto qui sotto:

getimagesize("http://domain/get_image_code.php?id=id_num")

 ;)

 ;D

 :bye:

risposto 10 anni fa
stellina
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda