Hola rafex, se me ocurre algo..
Yo soy tan despistado que a veces olvido que para poder subir un archivo, el formulario debe tener en su etiqueta de apertura un enctype="multipart/form-data", revisa eso a ver si no te falta.
En caso de que lo tengas, dices que la página se llama a si misma.. entonces al comienzo del script pruba poner algo como:
Esto para ver si se esta enviando el archivo.
Saludos