Es lo mismo que usas . .pero en lugar de $HTTP_POST_FILES .. usar $_FILES .. son arrays .. sólo que una es "superglobal" y la otra no.
   Código PHP:
    <?
function subir(){ 
    $foto=$_FILES['userfile']['name']; 
 
    echo $foto; 
    } 
 
//aqui llamo a la funcion para ejecutarla... 
subir(); 
?>    
  O bien .. si quieres seguir usando tus $HTTP_xxxx_xxxx como pretendes acceder a un valor de una varaibel que NO se definió en la función  .. tendrás que pasarlo por párametro a la función .. o declararlo como global  
 Código PHP:
    <?
function subir(){
    global $HTTP_POST_FILES; 
    $foto=$HTTP_POST_FILES['userfile']['name']; 
 
    echo $foto; 
    } 
 
//aqui llamo a la funcion para ejecutarla... 
subir(); 
?>    
  
Un saludo,