l'array viene creato dal campo input anche se non scegli nessun file.

Io di solito controllo che il file abbia un peso, se il size = 0 vuol dire che non hai uppato niente, oppure un file di 0 byte.

codice:
if($_FILE['nomecampo']['size']) {
ciao