search the coding forum on this site for 'upload' and you'll see a variety of questions people have about uploading. you might also want to checkout the sticky topics there...weedpacket has probably got something in his collected solutions list.
the basic idea is that you need a form with method="post" and enctype="multipart/form-data" that contains an input of type file:
<form method="post" enctype="multipart/form-data" action="submit_handler.php">
<input type="file" name="my_file">
<input type="submit" name="submit" value="submit">
</form>
then in your file submit_handler.php you would need to look in the superglobal array $_FILES.
There's more in the php documentation here.
One thing I think you will find disappointing is the lack of a native PHP upload progress meter. This bothers some folks, others don't mind. If you have PERL installed and want to go the extra mile, try megauploader.