Hola oscar, una vez a traves del formulario cuando utilizas el input type=file y le das submit, puedes saber si el archivo se ha subido, con lo siguiente:
  Código PHP:
    if(is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name']))
echo"Se ha subido";
else
echo"No se ha subido"; 
    
  Ahora para hacerla mas completa, lo siguiente, si se ha subido entonces copiamos el archivo a donde queremos, por ejemplo: 
 Código PHP:
    if(is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
copy($_FILES['archivo']['tmp_name'],"C:/AppServ/www/archivo/".$nombre_del_archivo); 
    
  Puedes reemplazar la funcion copy por move_uploaded_file. La variable $nombre_del_archivo, lo puedes llegar a poner asi: 
 Código PHP:
    $nombre_del_archivo=$HTTP_POST_FILES['archivo']['name']; 
    
  Que en este caso tendra el nombre original del archivo. 
Estan quedando pendiente varias validaciones antes de hacer lo anterior, por ejemplo: 
 Código PHP:
    //con esto
$HTTP_POST_FILES['userfile']['type'] //puedes verificar el tipo del archivo 
//ejemplo:
if($HTTP_POST_FILES['userfile']['type']!=txt)
echo"El archivo no es un txt";
//con esto puedes verificar el tamaño
if($HTTP_POST_FILES['userfile']['size']>100000)
echo"El archivo es demasiado grande"; 
    
  Espero que te sirva. Saludos, avisame cualquier cosa