Quizá un print_r de la variable $_FILES te ayude a encontrar el posible error:
http://bit.ly/1gi7T8D:
Cita: $_FILES['userfile']['error']
El código de error asociado a esta carga de archivo. Este elemento fue añadido en PHP 4.2.0
Mientras estés programando, una buena técnica para depura es cambiar la directiva error_reporting:
http://bit.ly/1gi8eYQ :
Código PHP:
Ver original<?php
// Notificar todos los errores de PHP (ver el registro de cambios)
?>