Hola!
 
Gracias a Josemi, IvanGuillen y jordi1... por orden de aparición... 
Al final lo he conseguido... 
Me quedan dos pequeñas dudas: 
1ª) 
Si pongo:  
 Código PHP:
      echo "El archivo ha sido cargado correctamente."; 
    
  detrás del primer if: 
 Código PHP:
    if(is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) { 
    
  si que me escribe el texto de cargado con exito.... 
pero si lo escribo detrás del segundo if: 
 Código PHP:
    if(!move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_ruta)){ 
    
  no escribe ningún texto...  
2ª) 
Para subir varios archivos al  mismo tiempo (si no son muchos) 
¿Se duplicarian los <INPUT type="file" name="otro_nombre"> y listo , cambiando userfile por el nuevo nombre en las demás líneas, o habría que utilizar un método con arrays que vi por encima hace un tiempo y que me parece más complicado? 
Hacerlo con arrays supongo que será más eficaz pero más complicado ¿no?, ¿se podría hacer como planteo al principio, duplicando los inputs y las líneas de código? 
AH! Otra cosa... 
Aunque funciona bien, Jordi, ¿porqué pones: "/" ? No entiendo bien que hace... :  
 Código PHP:
    $nombre_ruta = $nombre_dir. "/".$nombre_archivo  ; // y aqui le das la ruta, te pongo la barra en medio pero puede ir en la variable $nombre_dir 
    
  
Un saludo y gracias nuevamente