Kristallrainer: HTTP-Kommunikation zwischen PHP-Script und Ladebalken

Beitrag lesen

Hallo Martin!

warum packt jemand JPEG-Grafiken in ein zip-Archiv?

Da ich sonst keine Möglichkeit sehe (userfreundlich) über ein Formular einen Haufen Bilder gleichzeitig hochzuladen. Es geht also mehr darum die Bilder zusammenzufassen als sie zu komprimieren.

Durch einen HTTP-Request, wer hätte das gedacht? ;-)

Geht es nur mir so, oder ist die MooTools Doku nichts für Leute, die von AJAX keine Ahnung haben?
Ich bin mittlerweile so weit, dass ich zwischen Browser und Server ein JSON-Objekt (http://mootools.net/docs/Request/Request.JSON) hin und her werfen will, aber das genaue Funktionsprinzip ist mir noch ein Rätsel :(

Ja. Nur hast du vielleicht noch nicht erkannt, dass du es hier mit *zwei* PHP-Scripts zu tun hast.

Das habe ich in der Tat noch nicht.
Ich dachte das JavaScript würde dem PHP auf die Finger gucken.
Wie kann ich denn zwei PHP-Scripte gleichzeitig ausführen?
Ein "normales" PHP-Script wird doch abgebrochen, wenn kein dazu gehöriges Browserfenster geöffnet ist, oder?

Und schon mal präventiv gefragt: Wird das mein Timeout-Problem lösen?
Nein. ;-)

Das habe ich mir schon fast gedacht. :(

Der "Image Worker" arbeitet sich durch ein vom Unzipper angelegtes temporäres Verzeichnis, welches er am Ende löscht.
Ich könnte ihn also ein Bild abarbeiten und löschen lassen, und dann das Script so lange erneut auf das temporäre Verzeichnis anwenden bis es leer ist.
Wie kann ich denn ein Script aus sich selbst heraus am effektivsten neu starten?

Stark vereinfacht denke ich mir das in der Form:

<?php //image_worker.php  
    function image_worker($verzeichnis) {  
        if($verzeichnis nicht leer) {  
            bild_bearbeiten($bild);  
            unlink($bild);  
            // script abbrechen und image_worker.php?verz=temporaer neu starten  
        }  
        else rmdir($verzeichnis);  
    }  
    image_worker($_GET['verz']);  
?>

Mir ist nur die header("Location: ") funktion bekannt, welche aber sämtliche Ausgaben verbieten würde.
Wo ich nun aber so lang drüber gegrübelt habe will ich diesen Statusbalken jetzt auch in Aktion sehen ;)

Viele Grüße und Dank,

Rainer