Zum Prinzip:
Du bettest eine (PHP-)Seite (uploadseite) in ein iFrame auf deiner eigentlichen Seite ein. Diese uploadseite enthält ein komplettes Formular zum Fileupload.
Viel zu kompliziert!
Einfach das Formular in der eigentlichen Seite haben. Außerdem noch ein leeres, kleines IFrame mit in die Seite packen. Das <form> hat als Target das IFrame.
Keinerlei Javascript-Schnickschnack im Formular, einfach simples Submit.
Im IFrame antwortet der Server dann mit einer kompletten HTML-Seite. Die kann onload im parent-Fenster (also der Seite mit dem Formular) Aktionen ausführen.
Oder das IFrame ist einfach so platziert und groß, dass als HTML-Seite einfach nur ein schlichtes "Upload OK" als Text oder Grafik erscheint.
Stattdessen kannst Du von iFrame aus auf die eigentliche Seite zugreifen (parent) und nach Abschicken des Upload-Formulars z.B. eine Grafik mit Progress-Bar über das iFrame legen.
Kein Progress-Bar.