Hi,
Also zuerst habe ich ein normales html Formular mit datei-upload (bzw. es sollen 10 sein) feld etc., und zwei iframes.
Per onSubmit "leite" ich das formular zuerst in das 1. frame zu einer seite, auf welcher der javascript/ajax Loader kommt.
Dann führe ich das Formular mit dem zweiten Frame als Ziel aus, um es an das cgi/perl script zu leiten:
Also startest du das Versenden und damit den kompletten Upload aller Daten zwei mal - das ist schon mal extrem blödsinnig.
Im 1. frame, beim javascript/ajax-loader, wird zuerst ein php-script ausgeführt um per
$_FILES['uploaddata']['size'];
die Dateigröße der hochzuladenden Datei in ein textfeld zu schreiben um es für javascript verfügbar zu machen.
Dabei *wurde* die Datei bereits hochgeladen, und das PHP-Script startet natürlich erst, nachdem diese abgeschlossen ist.
Der Fehler scheint mir aber nicht im javascript/ajax-loader zu liegen
Nein - eher im schon vollkommen unsinnigen Ansatz.
Vielleicht ist meine doppelte javascript-ausführung des Formulars mit setTimeout auch falsch...
Das komplette Konzept ist absoluter Murks.
Du lässt die Datei(en) komplett hochladen, verwirfst diese Daten aber wieder, und interessiert dich nur für die Dateigrösse - um dann anschliessend bei einem zweiten, noch mal genau gleich grossen Request eine Zeit ermitteln zu wollen, wie lange dieser noch dauert ... Humbug hoch zwei.
Du hast also offenbar die Zusammenhänge und technischen Abläufe bei so einem Upload und seiner anschliessenden serverseitigen Verarbeitung noch nicht mal ansatzweise verstanden.
Informiere dich also zunächst darüber - und dann, welche bestehenden Ansätze und Möglichkeiten des bereits gibt, den Fortschritt zu ermitteln (Flash; "file upload hooks" bei PHP, etc.)
MfG ChrisB
Light travels faster than sound - that's why most people appear bright until you hear them speak.