Daten an beliebigem Ziel speichern (ActionScript 3, PHP)

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Wechseln zu:Navigation, Suche

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.

1 Problem

Da Flash aus eigener Kraft keine Daten lokal speichern kann, ist es nützlich via PHP Daten aus Flash zu übermitteln und dann lokal oder entfernt weiter zu verarbeiten oder in Dateien zu schreiben.

2 Beispielcode für XML-Verarbeitung

Um Daten aus Flash zu senden wird zumindest folgender ActionScript 3 Code benötigt:

//URLRequest an sample.php erzeugen
var sampleData:URLRequest = new URLRequest("sample.php") 
myData.method = URLRequestMethod.POST

//zu sendende Variablen deklarieren
var variables:URLVariables = new URLVariables() 
variables.value = some data 
sampleData.data = variables 

var loader:URLLoader = new URLLoader() 
loader.dataFormat = URLLoaderDataFormat.VARIABLES 
//loader.addEventListener(Event.COMPLETE, OnLoad) <-optional

loader.load(myData)

Um die Daten in PHP weiter zu verarbeiten, benötigt man folgenden PHP Code:

 
<?php
$value= $_POST['value'];
?>

Damit wird der eigentlich Inhalt in $value abgelegt und kann nun in PHP genutzt werden. Zu einen besteht die Möglichkeit per fwrite-Befehl eine Ausgabe zu erzeugen.
Möchte man XML-Daten verarbeiten bietet sich zum Beispiel simpleXML an (verfügbar ab PHP 5).
Damit ist es möglich eine XML-Struktur in PHP zu erstellen, alle Knoten, Childs und Attribute anzusprechen, neue hinzuzufügen und ein entsprechendes XML-Dokument zu speichern.

3 Ausblick auf kommende Flash Player Versionen

Adobe will in zukünftigen Versionen des Flash Players das Laden und Speichern von Daten durch den User ermöglichen.
Mit dem Feature 'Runtime FileReference access' wird es dem User ermöglicht, über eine Dialogbox Daten in die Laufzeitumgebung laden und auch von dort lokal speichern.

4 Quellen

Dokumentation zu SimpleXML http://www.php.net/simplexml
Übersicht zu XML Manipulationen mit PHP http://www.php.net/manual/en/refs.xml.php
Adobe Labs Flash Player 10 http://labs.adobe.com/technologies/flashplayer10/
Features Adobe Flash Player 10 http://www.adobe.com/products/flashplayer/features/