HTML does have a file upload control
Code:
<FORM ACTION="http://myserver.com/cgi"
ENCTYPE="multipart/form-data">
<INPUT TYPE="FILE" NAME="MyFile">
</FORM>
When the submit button is pressed, the file is POST'ed to the server. It is recieved and then must be decoded as it is recieved with the MIME type "multipart/form-data". Do a search to find more on this encoding. I do it in Java, and the decoding class has already been written (borrowed )
The problems you have;
1. Getting a decent decoding program to multitask and actually work on your server
2. As Iain said - Getting your server to allow uploads. Many hosts dont like it
3. Security - be very carefull what files you allow up and where you save them. It would be a shame for you to get this up and running only for some kiddie to upload a script and then run it