The answer to your question depends on who is uploading.
If it's a customer, then you have a sticky problem and brad is right, a zip is probably the best way to go. (And what are they uploading that many files for anyway?!? There must be another way.)
If it's a page that you, a co-worker, or your client will be using - if it's the same person doing the uploading every time - then teach them FTP or rsync.
How big is each file? Can they be dynamically created on the server side by providing a few variables?
HTTP is really not designed for uploading bulk data - I have had many problems with uploading files via HTTP. (Time outs, PHP limits, browser limits (IE) and CGI limits to name a few).