quizá, esa sea tu equivocación...
ya que es obvio, que POST viene vacío... en este caso usa
is_uploaded_file o has un
count() de la variable $_FILES
Cita: [...] Todo lo referente a archivos se guarda en el array $_FILES [...]
¿entiendes la diferencia???