In questo caso la mole di dati da gestire potrebbe crearti qualche problema, ma non perchè sia più complesso, solo per il fatto che nella gestione si può incappare in più errori che se dovessi gestire meno cose.
Volendo potresti mandare solo il dato modificato e, previ verifica con i dati presenti nell'xml, dovresti innestarlo attraverso lo script cgi o quel che scegli.
La dinamica da Flash risulta comunque identica, si crea innanzi tutto un oggetto URLVariables che contenga tutte le variabili che vuoi inviare allo script, dopodiché si crea un oggetto URLRequest che contiene i dati sotto forma di urlvariables, il metodo get o post e l'url a cui inviare questi dati. Ultima cosa, si crea un oggetto URLLoader che sarà il vettore di invio dei dati e che, volendo, recupererà dallo script esterno una risposta per il buon fine o meno della scrittura sul file xml.
Genericamente quanto ho scritto lo potresti mettere dentro una funzione da richiamare a piacere quando necessario.
Codice PHP:
var request:URLRequest = new URLRequest();
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, complete);
function SalvaDati (dataObj:Object) {
var tempUV:URLVariables = new URLVariables();
for (var item in dataObj) {
tempUV[item] = dataObj[item];
}
request.data = tempUV;
request.method = URLRequestMethod.POST;
request.url = "script.php";
loader.load(request);
}
function complete (evt:Event) {
try {
var test:URLVariables = new URLVariables(evt.target.data);
// dallo script esterno ti fai restituire una variabile "result" che contenga un ok o un altro valore e lo verifichi
// in base a quello esegui le azioni che preferisci
if (test.result == "ok") {
// azioni in caso di buon fine
} else {
// azioni se il file non è stato scritto
}
} catch (e:Error) {
// azioni se qualcosa non va nell'assegnazione dei dati alla variabile "test"
// si attiva se per esempio ci sono errori nello script esterno e perciò l'output di quel file non è come ci si aspetta
}
}