Pides muchas cosas, y lo primero antes de preguntar es investigar. Opino igual que el compañero.
Para construir el formulario en HTML es fácil.
Un ejemplo facil:
Código HTML:
Ver original<form method="post" action="accion.php" enctype="multipart/form-data"> Selecciona un archivo.
<input name="archivo" type="file" />
Para recuperarlo en php se utiliza la superglobal
$_FILES Puedes investigar al respecto.
Para lo demás existen un montón de temas en este foro que abordan el tema.
Aquí por ejemplo tienes un tema con todo lo necesario, que puedes adaptar a tu antojo y necesidades, si tienes problemas pregúntanos.