Esta perfectamente explicado aquí: http://www.forosdelweb.com/wiki/PHP:%C2%BFC%C3%B3mo_puedo_subir_archivos_a_trav%C3 %A9s_de_un_formulario%3F
Tienes ejemplos y referencias a otras páginas. Pero sinceramente el código que allí presentan es más que suficiente.
Suerte!