No you're stuck at the basics. You have to upload the files either way so breaking it up in chunks changes nothing other than making it more complicated. The chunks would need to be reassembled into files so it would still be uploading the same volume of data. What does the client side code look like that breaks it into chunks? From a PHP perspective, here is no timeout issue for uploading files unless the client stops. In that case the client can simply resume where it left off when it reconnects but that is mostly a client side issue. There may need to be some PHP code added to handle a resume but without more information it would be hard to say what (probably a session list if the successful uploads).