HTTP uploads are not well suited to large files.
Specifically, I think that PHP stores the entire file in memory during the upload - this is unsuitable for large files as it will use up too much ram.
Consider using FTP or similar (maybe DAV?) and then processing the uploaded files with PHP.
But do bear in mind if you've got a cron job or something, that you might see incomplete files in your FTP directory - be sure to have a way of checking that they're complete. If it's not time critical, simply wait a few hours and if they're not modified, then they should be complete.
Clients might also decide to resume transfers etc, so bear that in mind.
A clever FTP server may have a hook which is automatically invoked once a FTP upload is complete. Maybe you can use that.
None of this will be possible unless you have a dedicated server. If you don't have the expertise to set all of this up, hire someone who does.
Mark