Newsgroup: it.comp.www.php
Titolo: richiesta disperata immagini in database

Senza rimandarmi a questo indirizzo:
http://www.phpbuilder.com/columns/florian19991014.php3?print_mode=1
che crea un unico file che inserisce le immagini,
io ho un form in un file HTML,
e un file PHP che inserisce i dati nel database,
Se io volessi inserire l'immagine come faccio???
e per visualizzarla in seguito??
Grazie Silvio
PS scusate se ripropongo l'argomento, ma non ho avuto nessuna risposta!!
PSS per favore lo sò che è + conveniente inserire URL e FILE_NAME, ma non
posso fare l'upload su server, quindi questa è l'unica maniera!!!Grazie 1000

potresti memorizzare nel database il nome dell'immagine e
salvare l'immagine in una dir.
--
Davide Consonni
( 
davidec...@virgilio.it
 )

>posso fare l'upload su server, quindi questa è l'unica maniera!!!Grazie
1000
ecco...
   Questo lo sapevo!
 Grazie lo stesso
  Ciao Silvio


Silvio wrote:

Chiaramente va adattato al tuo caso.
Così ottieni una stringa contenente l'immagine:
$image = addslashes(fread(fopen($_FILES['image']['tmp_name'], "r"), 
filesize($_FILES['image']['tmp_name'])));
e puoi inserirla in un campo BLOB
insert into table (image) values ('$image');
Per ottenere un'immagine da un DB
$result = mysql_query('select image from table');
list($image) = mysql_fetch_row($result);
header('Content-type: image/gif'); 
// se è una gif altrimenti vedi il giusto mime type
print($image);
Ciao
Massimo

 filesize($_FILES['image']['tmp_name'])));
$image = addslashes(fread(fopen($_FILES['image']['tmp_name'], "r"),
filesize($_FILES['image']['tmp_name'])));
$sql = "
insert into $nome_tabella
(id, marca, modello, versione, anno, colore, km, accessori, altro, prezzo,
fotodir, image)
values
 (\"\",\"$marca\", \"$modello\", \"$versione\", \"$anno\", \"$colore\",
\"$km\", \"$accessori\", \"$altro\", \"$prezzo\", \"$fotodir\",\"$image\")";
errore:
Warning: fopen("","r") - Invalid argument in c:\programmi\apache
group\apache\test\amministrazione\inserisci_auto.php on line 12
Warning: Supplied argument is not a valid File-Handle resource in
c:\programmi\apache group\apache\test\amministrazione\inserisci_auto.php on
line 12
forse può essere un problema di versione PHP?? io ho la 4.0.6
Grazie dell' aiuto!
  Silvio


  Silvio
Credo di sě. Le variabili in stile $_* sono state
introdotter dalla 4.1 (AFAIK)
--
It's just a joint...
Set me Free!!

 introdotter dalla 4.1 (AFAIK)
Confermo.
Ciao
Massimo

 Massimo

 
$HTTP_POST_FILES
Ciao
Massimo

 Massimo

 94 STA PER LA TERZA (header...)
Header() PRETENDE che non ci sia nessun output prima della chiamata.
Riga 94 per effettuare un'elaborazione di un'immagine è eccessivo, forse ho 
saltato qualche passaggio fondamentale che va chiarito.
Per sommi capi e qualche inesattezza formale
header('Content-type: image/gif');
è una riga di codice che dice al browser che il file è una GIF, tutto il 
file. Normalmente questo valore per una pagina HTML è 
header('Content-type: text/html');
ed infatti il browser riconosce la necessità di interpretare lo stream di 
dati come una pagina HTML.
Se vuoi visualizzare un'immagine in una pagina HTML cosa fai? Usi il TAG 
<IMG>. Così devi fare anche in questo caso. Ad esempio:
<IMG src='immagine.php?id=11'>
Il file immagine.php dev'essere composto di poche righe:
<?php
mysql_connect(...);
mysql_select_db(...);
$result = mysql_query("select image from table where id={$_POST['id']}");
list($image) = mysql-fetch_row($result);
header('Content-type: image/gif');
print($image);
?>
Spero di aver chiarito.
Ciao
Massimo

 Non solo c'è anche la query da cui ottieni la variabile $result :)
Orribile! Sostituire l'handle alla query.
Ciao
Massimo

razie massimo, questo potrebbe essere un piccolo tutorial!!
Comunque adesso non mi da + errori nella visualizzazione, semplicemente non
mi trova la foto!!
$image = addslashes(fread(fopen($HTTP_POST_FILES['image']['tmp_name'], "r"),
filesize($_FILES['image']['tmp_name'])));
$sql = "inserisco la variabile image in un campo LONG BLOB"
$fotovar= "<img src=\"immgauto.php?ID=$ID\" width=\"172\"
Variabile per visualizzarla!
$result = mysql_query ("select image from $nome_tabella where ID='ID'");
list($image) = mysql-fetch_row($result);
header('Content-type: image/jpg');
print($image);
?>
File per il recupero!!
Grazie Ciao

 "r"), filesize($_FILES['image']['tmp_name'])));
                 ^^^^^^^
Dovrebbe darti un errore oppure una dimensione di 0 byte.
Hai visto in MySQL se la foto c'è?
Ciao
Massimo

>                  ^^^^^^^
                    ^^^^^^^
                    ^^^^^^^
                    ^^^^^^^
Ciao
Massimo

 Scusa il tormento
Mi offrirai un caffé :9
Ciao
Massimo


Silvio

 allora se è così
No, è l'attributo el tag <FORM>.
SEMPRE per uploadare file devi specificare 
<FORM action='quello che vuoi' method='post' enctype='multipart/form-data'>
                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Se non c'è o è diverso i file non vengono trasferiti.
Ciao 
Massimo

Ecco:
FORM
<input type="file" name="image" size="22">
è giusto...
FILE PHP
$image = addslashes(fread(fopen($HTTP_POST_FILES['image']['tmp_name'], "r"),
filesize($HTTP_POST_FILES['image']['tmp_name'])));
VISUALIZZAZIONE
$result = mysql_query ("select * from $nome_tabella where ID='ID'");
list($image) = mysql_fetch_row($result);
header('Content-type: $image_type');
print($image);
Ciao Silvvio

 è giusto...
Il tag input va quasi bene
<input type="file" name="image">
size="22" non serve.
Il tag <FORM> com'è? C'è l'attributo enctype?
Contattami in ICQ così finiamo di annoiare tutti...
Ciao
Massimo
ICQ #44273373

 ICQ #44273373
Ciao
  Silvio