XML Datei in Flash einlesen und wieder speichern

Ok, ich habs, es war tatsächlich ein Rechteproblem mit dem Server. Ich bin aber erst durch das Echo und Googlen der Fehlermeldung drauf gekommen! Danke, danke für die Mühe und Hilfe!

Hast du letztendlich noch einen Tipp wie man das cachen abfangen kann? Das geht doch bestimmt irgendwie?

Gruss
 
Hi,

such mal im Forum nach "Cache" - da sollten einige Thread zu dem Thema dabei sein.

Du hängst einfach eine zufällige Zahl an die URL, etwa so:
PHP:
var z = Math.random();
bla.load("test.xml?zufi=" + z);

Gruß

P.S.: Es gibt eine Editieren-Funktion - dann musst Du nicht 4 Beiträge hintereinander verfassen. ;)
.
 
Guten Morgen,

das mit dem cachen war ja auch ganz einfach. Bei mir funktioniert das jetzt einwandfrei. Aber wenn jemand anderes darauf zugreift geht es gar nicht mehr. Er liest weder die XML ein noch kann man speichern. Und ich dachte schon ich hätte es geschafft...
Woran kann das liegen, das es bei anderen aus dem Netz nicht geht? Hab ich noch was wichtiges vergessen/ übersehen?

Gruss

Ja anscheinend hab ich einen Fehler im aufruf der HTML. Ich steuer den Film über eine HTML an,und da stimmt wohl was nicht, weil wenn man den Film direkt aufruft funktioniert es bei allen!

Danke und Gruss
 
Zuletzt bearbeitet:
... dann zeig doch mal einen Ausschnitt aus der betreffenden html-Seite, oder - noch besser - gib uns einen Link, falls sie online ist.

Gruß
.
 
Mh das mit der HTML klappt jetzt doch.
Ich frag mich nur, ob und wie ich 2 Variablen an das PHP zum weiterverarbeiten schicken kann. Also ich hab eben den Inhalt der XML die ich über lv schicke bzw. über $_POST["adressListe"] empfange. Wenn ich nun aber noch eine Info mitschicken will, muss ich dann nocheinmal so einen send-Befehl machen oder kann ich da beliebig viele Variablen auslesen hauptsache sie sind Teil des lv-Objektes?

Gruss

Ich ziehe die Frage zurück, beim 2. Versuch hat es tatsächlich so geklappt :)
Allerdings hab ich ein Problem mit dem cachen. Im Moment hatte ich die Löung mit der Zufallszahl. Aber ich übergebe den Namen der Datei aus dem XMl an PHP und speicher es, wenn ich die Datei dann wieder einlesen will, findet er sie natürlich nicht weil die Zahl mitgespeichert wird(was auch nicht richtig funktioniert die Datei ist dann fehlerhaft). Die Lösung funktioniert so also nicht für mich. Muss ich aus dem Flash raus das Cachen verhindern oder würde es auch reichen wenn ich im PHP Script was schreib? Da hab ich die Feinheiten noch nicht ganz raus...

Gruss
 
Zuletzt bearbeitet:
... die Zahl sollte eigentlich nicht mitgespeichert werden, wenn sie als URL-Querystring übergeben wird. Das wäre ein Wert, der sich in $_GET befindet und mit der XML-Datei nichts zu tun hat.

Poste bitte noch einmal den entsprechenden AS-Ausschnitt.

Du kannst dem LoadVars-Objekt beliebige weitere Parameter mitgeben:
PHP:
loadV.xmlstr = mein XML(); // in $_POST["xmlstr"];
loadV.para1 = "foo"; // in $_POST["para1"];
loadV.para2 = "bar"; // in $_POST["para2"];
var zufi = Math.random();
loadV.sendAndLoad("bla.php?zufi=" + zufi, xm, "POST"

Gruß
.
 
Hallöle,

also, ich hatte die Zufallszahl an meine xml Dateien gehängt, die ich einlese und speichere.
Wenn ich die Zufallszahl an das PHP hänge, speichert er mir wieder in Cache... Bzw. dann geht es wieder nicht dass er mir das einliest. Abspeichern tut ers...
Deshalb hatte ich es an den xml Dateien und hab die Zufallszahlen wieder abgeschnitten in dem PHP, aber da die unterschiedlich lang sind konnte ich das auch nicht zuverlässig speichern ohne Zufallszahl...
Langsam verzweifel ich :)
 
Ja du hattest Recht :)
Somit wären meine Probleme hier gelöst fürs erste!
Ich habe das cachen jetzt ganz anders gemacht, in dem ich für das laden der xml ein PHP Script aufrufe mit den no-cache Headern und dann im Flash empfange über fpassthru und dann an das Speichern Script schicke...
Die load.php
Code:
<?php
 		header("Cache-Control: no-cache, must-revalidate");
     	header("Pragma: no-cache");
		header("Content-type: text/xml");
		if (isset($_GET["file"])) {
		$fhd = fopen($_GET["file"], "r");
		 fpassthru($fhd);	
		} //end if 

?>

Hier der Aufruf im AS:
Code:
var adressListe = new XML();
var filename = "template13.xml";
var url= "load.php?file=" + filename;
adressListe.load(url);

Und dann ab in die Save.php

Code:
var lv = new LoadVars();
	lv.adressListe = adressListe.toString();
	lv.url = filename.toString();
    lv.onLoad = function(success) {
        trace("Übertragung: " + success);
		}//end onLoad
	var z = Math.random();
	lv.sendAndLoad("save.php", lv, "POST");

Mit diesem Script:
Code:
<?php if (isset($_POST["adressListe"])) {
		if ($fhd = fopen($_POST["url"], "w")) {
		  	fwrite($fhd, stripslashes($_POST["adressListe"]));
        	fclose($fhd);
			//echo $_POST["url"]; 
       }//end if
	   	
} //end if 
?>

Danke nochmal für die guten Antworten, sorry wenn ich arg aufm Schlauch stand :)
Schönen Tag und bis bald!

Grüsse
 

Neue Beiträge

Zurück