If the code worked on a previous site, then the issue isn't in the code. Probably a server setting.
Did you try a smaller file? It could be a post size restriction or a memory limit being hit.
It could be a folder permissions issue on the new server.
It could be a difference in php versions and some function being deprecated.
This is all hand coded and not using webassist extensions for the upload, so I'd need to do a premier support ticket in order to debug it with you in a screen sharing session. Give me a call and I can squeeze in an hour to figure this out for you.