prima di tutto nel tuo codice non esegui istruzioni che caricano il file.

Se per caso fosse uno script esterno che non hai postato e lavori in remoto (cioè sul server) magari devi fare un chmod(777,'percorso/completo/cartella') prima dello sript seguito da un chmod(755,'percorso/completo/cartella') dopo lo script (imposta e successivamente revoca i permessi di scrittuta).

Se non ci hai proprio pensato credendo lo facesse in automatico... povero illuso, magari! xD

ti consiglio in questo caso uno script di upload ready-made free

http://www.uploadify.com/