Ciao,
la questione si spinge molto oltre l'HTML, in quanto una volta che l'utente invia un file il tuo programma, PHP, ASP o qualsiasi linguaggio usi, deve saperlo elaborare e salvare/scartare.
Per quanto riguarda l'HTML, comunque, le cose da sapere sono due:
il file viene inviato all'interno di un campo FORM che deve avere l'attributo ENCTYPE settato a "multipart/form-data", indi non ti serve altro che un INPUT di tipo FILE e, chiaramente, il pulsante di SUBMIT. Un esempio:
<form method="post" action="sendfile.php" enctype="multipart/form-data">
<label for="fileupload">Cerca il file da caricare:</label>
<input type="file" id="fileupload" name="fileupload" />
<button type="submit">Invia</button>
</form>
Puoi dare un'occhiata qui:
Ciao!