A ver, es normal el error porque las variables $_FILES no siempre están presentes.
De igual forma que las variables del formulario sólo están presentes cuando el formulario ha sido enviado, a leguas se mira que en tu lógica haces eso pero dejas de fuera las instrucciones para manejar los uploads.
Eso es lo único que te sucede, de nosotros no hace falta hacerle algo al código, tu solo puedes.