You will definitely need a server side script to upload. PHP and Perl are popular. The code block in Perl that actually does the upload is about 4 lines, so it's not difficult. What can be difficult is getting permission from your website host to run server side scripts. Some of the big hosting outfits have a set list of canned scripts that you can use. These are programs that run on their server so they want to maintain some control. Some allow you to write your own scripts, but don't give you access to the cgi-bin directory. You have to send them the script, they test it then upload it. Some allow full FTP access to the cgi-bin, which is the easiest way.
You need to talk to who ever is hosting your site. They will tell you what you can and can not do on their server. You can upload or email via a script. There may be a file size restriction using email. With direct upload, there is no limit.