Hola holaquepasa,
 
Para hacer upload de archivos ten en cuenta los siguientes pasos:  
1) Preparemos el formulario.
Para esto nos fijamos como abrimos el formulario y dentro ponemos el campo "file". 
Tradicionalmente un formulario se abre así: 
 Código HTML:
 <form name="form" id="form" method="post" action="procesar.php"  /> 
 Pero cuando quieras hacer upload de archivos debes abrirlo así:  
 Código HTML:
 <form name="form" id="form" method="post" action="procesar.php" enctype="multipart/form-data" /> 
 Fíjate que hemos agregado enctype="multipart/form-data", fundamental para subir archivos. 
Ahora dentro del formulario debes agregar (ademas de todos los campos que tengas) el campo "file"  
 Código HTML:
 <input type="file" name="archivo'" /> 
 Fíjate que en "name" le puse "archivo", nombre con el que me referiré a este archivo más adelante en el servidor. 
Finalmente, la estructura del formulario quedaría así:  
 Código HTML:
 <form name="form" id="form" method="post" action="procesar.php" enctype="multipart/form-data" />
 
<input type="file" name="archivo'" />
 
</form> 
 Una vez terminado pasemos al segundo paso  
2). Cómo procesar en el servidor el archivo- 
Se supone que ya has alegido el archivo en tu máquina local con el campo "file" y has enviado el formulario.  
Al formulario lo enviamos a la página procesar.php (fíjate en action).
Como consecuencia procesar.php es el que se encargará de gusrdar el archivo en el server. Veamos como lo hacemos con PHP (fíjate que voy a comentar el código):    
 Código PHP:
    // Primero ponemos la condición una sentencia que nos asergure que el archivo fue enviado desde un formulario y no maliciosamente,
// tmp_name es el nombre temporal que PHP le asigno al archivo al subirlo
// es la ruta real donde el archivo fue guardado temporalmente en el server
 
if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {
 
// Si estamos aca entonces el envío es legítimo, continuemos procesando
 
// Ahora verifiquemos que el archivo no tenga mas tamaño del que nosotros 
// permitimos ( en este caso el tamaño maximo es 524288 (512kb))
 
 if ($_FILES['archivo']['size'] < 524288) {
// Si estamos aca es porque cumple con el requisito del tamaño...
// entonces lo guardemos
 
move_uploaded_file ($_FILES['archivo']['tmp_name'], "home/miweb/upload/".$_FILES['archivo']['name']);
 
}
} 
    
  Y listo, reemplaza home/miweb/... por la ruta real de tu sitio y la carpeta donde quieres guardar el archivo.  
Espero haberte orientado Quedo a tu disposición amigo 
SAludos