Ladezeit ermitteln und als Variable an PHP übergeben

LapisInfernalis

Grünschnabel
Hi Folks...

Ich habe da mal eine Frage:

Ich würde gerne einen Flashtest realisieren, bei dem eine Variable über den Status des Flashplayers beim jeweiligen User in der Variable $_SESSION gespeichert wird.

Dies ist an sich kein Problem...

Zwei Dinge machen das Ganze etwas komplizierter:


1. Damit ich dem User bei Downloads in etwa mitteilen kann, wie lange dieser dauern wird, hätte ich gerne, dass bei dem Test auf das Vorhandensein eine Flash-Datei mit einer definierten Größe geladen wird.

Ist es möglich, die Ladezeit dieser Datei in Sekunden festzuhalten, um damit die durchschnittliche Übertragungsgeschwindigkeit berechnet werden kann?

und

2. Kann ich diese Angabe als Variable übergeben? Meine Vermutung ist, dass ich per getURL eine Datei aufrufe und die Variable mit der URL übergebe.

Diese kann ich dann für PHP über $_GET verfügbar machen.

Gibt es da noch einen besseren, sichereren Weg?


Danke im Voraus!

LapisInfernalis
 
Hi,

hier einmal ein einfaches Beispiel für einen Ladezeittester:
PHP:
var tester = this.createEmptyMovieClip("tester", this.getNextHighestDepth());
var loader = tester.createEmptyMovieClip("loader", 1);
var stime = getTimer();

loader.loadMovie("testclip.swf");

tester.onEnterFrame = function() {
	if (loader.getBytesLoaded() >= loader.getBytesTotal()) {
		var LV = new LoadVars();
		LV.downloadtime = getTimer() - stime;
		LV.onLoad = function() {
			trace("finished");
		}
		LV.sendAndLoad("meinphp.php", LV, "POST");
		delete this.onEnterFrame;
	}
}
Wenn der Clip "testclip.swf" vollständig geladen wurde, wird dem PHP-Script "meinphp.php" die Variable "downloadtime" (zu finden in $_POST["downloadtime"]) übergeben, die die Ladezeit in Milisekunden enthält. Das Script wird nicht in einem neuen Browserfenster aufgerufen, sondern im "Hintergrund" ausgeführt.

Gruß
.
 
Zurück