Newsgroup: it.comp.www.php
Titolo: Controllo per verificare che input file non sia vuoto

Credevo bastasse:
if ($_FILES['immagine']['name'] !== "") {
}
Ma non č cosě...
Arjuna
-- 
Homo sum, humani nihil a me alienum puto.
 08/04/2004 12.26.25


se invii il file tramite form :
if ($nomefile_name !="") {
}
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.642 / Virus Database: 410 - Release Date: 24/03/2004

 }
if ( isset($_FILES['immagine']) && $_FILES['immagine']['tmp_name']!='' )
SV

> if ( isset($_FILES['immagine']) && $_FILES['immagine']['tmp_name']!='' )
non si dovrebbe usare !== invece di != ?
Arjuna
-- 
Homo sum, humani nihil a me alienum puto.
 08/04/2004 14.00.22

 se invii il file tramite form :
REGISTER GLOBALS!!!!!!!!!!!!!!!!
Prima di rispondere per favore verifica di sapere esattamente di cosa
si sta parlando.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
L'uomo, conscio di sbagliare, persevera.

 non si dovrebbe usare !== invece di != ?
La versione !== (e relativa ===) rispetto a != fa anche un controllo di
tipo ossia verifica she i due operatori sono dello stesso tipo
(stringa, boolean, integer etc) oltre a fare il confronto.
-- 
I am what I am, I do what I can


 $_FILES['immagine']['tmp_name']!='' )
Dovrebbe essere corretto nella maggior parte dei casi, ma a pensar bene
...
if (isset ($_FILES['immagine']) &&
   isset ($_FILES['immagine']['tmp_name']) &&
   $_FILES['immagine']['tmp_name'] != '')
Saluti.
-- 
I am what I am, I do what I can
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Votami! 
http://www.phpclasses.org/vote.html



scusa ma io me lo sogno ? dove sta scritto ? Forse se ponevi meglio il
problema non perdevo
 tempo neanche io non trovi ?


    $_FILES['immagine']['tmp_name'] != '')
...è un controllo in più, ma (ri)pensadoci mi chiedo:
 se $_FILES['immagine'] esiste (quindi il file è sul server),
 non dovrebbe esistere pure $_FILES['immagine']['tmp_name'] che è il nome
 assegnatogli?
_SV_

 trovi ?
Perdere tempo per cosa?
Ha proposto una soluzione che non tiene conto degli standard del PHP,
della configurazione di Arjuna e delle problematiche di sicurezza.
-- 
I am what I am, I do what I can


ma che dici ? che ti sei fumato ????


 nome  assegnatogli?
In teoria si, ma se per qualche motivo (a me sconosciuto)
$_FILES['immagine'] fosse valorizzato ma non fosse presente
$_FILES['immagine']['tmp_name'] allora il primo codice potrebbe portare
ad un notice, mentre il secondo no.
Ovviamente parlo per ipotesi e con uno spiccato senso di paranoia.
-- 
I am what I am, I do what I can
Cerchi un programmatore PHP/MySQL? 
http://url.repository.biz/go/1Y
Vuoi supportarmi? 
http://url.repository.biz/go/3E


 ma che dici ? che ti sei fumato ????
[mi quoto]
Ha proposto una soluzione che non tiene conto degli standard del PHP,
della configurazione di Arjuna e delle problematiche di sicurezza.
[/quoto]
Non e' forse vero? Se per te non lo fosse porta a dimostrazione una
valida motivazione.


 Ovviamente parlo per ipotesi e con uno spiccato senso di paranoia.
In realtà, non conoscendo bene il meccanismo attraverso il quale
un file viene caricato sul server....
e volendoci evitare paranoie e caciare[;-)] varie un controllo in più non fa male!
Quindi vada per la tua soluzione!
a presto
_SV_

 della configurazione di Arjuna
se non viene specificata ! sulla discussione c'è ?


 se non viene specificata ! sulla discussione c'h ?
Arjuna utilizza $_FILES per accedere ai file in upload per cui e'
evidente che sta utilizzando un approccio orientato a register_gloabs =
off, per cui il tuo "suggerimento" come minimo avrebbe restituito un
Notice: Undefined variable.




Stilisticamente parlando è piu' corretto utilizzare, sugli array, la
funzione array_key_exists e non isset.
Ciao.
-- 
Se cerchi consulenza su Linux, PHP, MySQL e tutto quello che riguarda il mondo OpenSource,
chiedi a ZioBudda Labs un preventivo. Celerità e professionalità sono solamente due
dei punti chiave di ZioBudda Labs.
Per maggiori informazioni: 
in...@ziobudda.net

 funzione array_key_exists e non isset.
L'unica differenza sta nel fatto che isset non gestisce gli elementi di
un array con valore NULL (li ritiene unset), per quello che riguarda lo
stile dipende dai gusti, sul manuale ufficiale e' riportato un esempio
dell'utilizzo di isset con gli array (
http://it2.php.net/isset#AEN117920
 ) e c'e' da tener presente che isset
a differenza di array_key_exists e' un costrutto del linguaggio e non
una funzione.


Che bel TD.
Grazie per le risposte...
Arjuna
-- 
Gnotis se auton.
 08/04/2004 16.09.38


non sapevo  che register_gloabs =  off  impedissero quello che avevo postato
io
