ftp significa avere un server ftp, usare un protocollo che personalmente non mi piace, far interagire php con un server terzo..
per fare questa cosa io ho utilizzato un semplice <input type="file"> dell'html e poi le funzioni filesystem di php per scriverlo su disco.
c'e' anche da dire che i miei files erano 20 volte piu' piccoli, ma l'unico aspetto negativo che vedo nel tuo caso e' la possibilita' di un timeout [che cmq non dovrebbe verificarsi].
se decidi di fare cosi ricordati di specificare la codifica nel tag del form, che io mi dimentico sempre
ciao
danno