Mi sembra vada bene al limite potresti cerca di fare il controllo dell'header senza salvare il file dopo il submit.

Comunque mi sembra che la tua scelta sia comunque solida e vada bene se non hai problemi ad avere un po' di spazzatura nella directory temporanea.
In poche parole se la procedura non va a buon fine (cade la rete, si interrompe per un qualsiasi motivo) ti potresti trovare dei file non buoni nella directory temporanea ma se te ne puoi fregare non è un problema, tanto tu consideri solo la directory finale come quella che deve rimanere coerente.