ciao
ho una pagina con un campo di file chiamato file1.
Non riesco a pubblicarlo perchè non mi calcola questo campo....cioè se metto $_POST[file1_name] per esempio...mi restituisce un valore vuoto...perchè?
ciao
ho una pagina con un campo di file chiamato file1.
Non riesco a pubblicarlo perchè non mi calcola questo campo....cioè se metto $_POST[file1_name] per esempio...mi restituisce un valore vuoto...perchè?
posta tutto il codice
if (trim($_POST[autore]) == "" OR trim($_FILE[file1]) == "" ){
echo "<div align = center ><font face=Verdana size=2>Compila tutti i campi $spazi</font></div><meta http-equiv=refresh content=3;URL=javascript:history.back(-1)>";}
else {
$destinazione = "C:/Documents and Settings/caffi/Desktop/host/foto/foto/file_temporanei/$spazi";
move_uploaded_file($_POST[file1],$destinazione) or die ("Non riesco a pubblicare l' immagine");
$data = (date("d/m/Y"));
$query = "INSERT INTO foto_pazze (autore,nome,data,attiva) VALUES ('$_POST[autore]','$spazi','$data','no')";
mysql_query($query, $db) or die (mysql_error());
echo "<div align=center><font face=Verdana size=2>Grazie mille per il tuo contributo.</font></div>";
}
mi si blocca..a compila tutti i campi... proprio quello è strano... perchp per lui la variabile $_POST[file1] è vuota! dipende dal fatto che è un campo di file...ma paerchè?
EDIT:
if (trim($_POST[autore]) == "" OR trim($_POST [file1]) == "" ){
echo "<div align = center ><font face=Verdana size=2>Compila tutti i campi $spazi</font></div><meta http-equiv=refresh content=3;URL=java-script:history.back(-1)>";}
else {
$destinazione = "C:/Documents and Settings/caffi/Desktop/host/foto/foto/file_temporanei/$spazi";
move_uploaded_file($_POST[file1],$destinazione) or die ("Non riesco a pubblicare l' immagine");
$data = (date("d/m/Y"));
$query = "INSERT INTO foto_pazze (autore,nome,data,attiva) VALUES ('$_POST[autore]','$spazi','$data','no')";
mysql_query($query, $db) or die (mysql_error());
echo "<div align=center><font face=Verdana size=2>Grazie mille per il tuo contributo.</font></div>";
}
mi si blocca..a compila tutti i campi... proprio quello è strano... perchp per lui la variabile $_POST[file1] è vuota! dipende dal fatto che è un campo di file...ma paerchè?
i file vengono letti con questa var $_FILES['nome']
prova così
Codice PHP:
if (trim($_POST['autore']) == "" OR trim($_FILES['file1']) == "" ){
..........
grazie...hai capito al volo tu! funziona
ALT:ECCOMI
se faccio echo "$_FILES[file1_name]"; mi da un valore vuoto pero!
perchè?
dovrebbe essere se mi ricordo bene
eccoti tutte le "funzioni"Codice PHP:
echo $_FILES['file1']['name'];
> [name] => example.jpg
> [type] => image/jpeg
> [tmp_name] => /tmp/phpPoRODB
> [error] => 0
> [size] => 43891
qui ti mostro l'esempio quando si uppa un img mettendo ['funzione'] con la relativa funzione vicino a $_FILES['file1'] ti stampa le relative informazioni
perchè tu devi capire che cosa vuoi fare,utilizzi le globals vars per determinati compiti.Originariamente inviato da pazzomania2
ALT:ECCOMI
se faccio echo "$_FILES[file1_name]"; mi da un valore vuoto pero!
perchè?
quindi se vuoi inviare un files devi utilizzare quel tipo di var,altrimenti se vuoi passare un dato di tipo stringa o numerico inserisci tutto in una var di tipo post.
cmq potresti utilizzare uncontrollare che il campo non sia stato lasciato vuoto;codice:$HTTP_POST_FILES['file1_name'];
utilizzareper caricarlo nella memoria volatilecodice:is_uploaded_file($HTTP_POST_FILES['file1_name']['tmp_name'])
utilizzareper verificare che sia un file di tipo jpeg,puoi farlo su qualsiasi formato;codice:if ($HTTP_POST_FILES['file1_name']['type']=="image/jpeg")
verificare la grandezza:
avere a disposizione il nome dell'immagine:codice:if ($HTTP_POST_FILES['file1_name']['size']>$grandezza_max)
e copiare il file con copy():codice:$nomeImmagine = $HTTP_POST_FILES['file1_name']['name'];
potresti fare qualcosa del genere..ciaocodice:$percorsoCompletoImg = "immagini/"; $risultato = copy($HTTP_POST_FILES['file1_name']['tmp_name'],$percorsoCompletoImg); if($risultato) echo"immagine inviata"; else echo"errore";