Recuerda que move_upload_file necesita de dos parametros para funcionar:
El primero es el nombre del archivo temporal que quieres mover y el SEGUNDO es la ruta a donde lo quieres mover.
Entendiendo esto tu usas
move_uploaded_file(_FILES['userfile']['tmp_name'], $nombre_archivo) entonces el segundo parámetro estaría incorrecto porque no le estas diciendo a donde moverlo, solo le dices el nombre del archivo nada mas.
mira te ayudo un poco:
Y recuerda que necesitas tambien pasarle la extension del archivo porque sino te movera el archivo como .TMP
Adicional a esto por si este no es el error, fijate si en tu formulario estas usando multipart/form-data
Espero que esto te ayude un poco.