Данный пример демонстрирует как загружать XML данные в Flash cs3 и выгружать их.
Скачать zip архив с исходными кодами
var xmlData:XML = new XML();
loadGameXML(1);
function loadGameXML(n){
status_.text = "loadGameXML";
var xmlLoader:URLLoader = new URLLoader();
//var xmlData:XML = new XML();
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest(n+".xml"));
function LoadXML(e:Event):void {
xmlData = new XML(e.target.data);
//ParseNews(xmlData);
//var newsList:XMLList = xmlData.item.up;
up_.text = xmlData.item.up.toString();
}
}
function saveMemory(){
status_.text = "saveMemory";
var request:URLRequest = new
URLRequest("xml_save.php");
request.data = xmlData;
request.contentType = "text/xml";
request.method = URLRequestMethod.POST;
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, handleResponse );
loader.load(request);
trace("xmlXML= "+xmlData);
}
function handleResponse(event:Event):void {
try {
//rvRhythmView = mMain.getRhythmView();
// Attempt to convert the server's response into XML
var success:XML = new XML( event.target.data );
if ( success.toString( ) == "1" ) {
trace("Saved successfully.");
status_.text = "Saved successfully";
} else {
trace("Error encountered while saving.");
status_.text = "Error encountered while saving.";
}
} catch (e:TypeError) {
trace("Could not parse XML response from server.");
status_.text = "Could not parse XML response from server.";
}
}
////////////////
PHP код
$filename = "filename.xml";
$raw_xml = file_get_contents("php://input");
$fp = fopen($filename, "w");
fwrite($fp, $raw_xml);
fclose($fp);
// Return success code to Flash
echo "1 ";
а теперь поясните в каких случаях это требуется 😉
Например, если нужно загрузить данные в флеш, а потом сохранить.
Допустим, я работаю над созданием scheme builder. Которая будет позволять создавать нечто вроде маршрутов. Такие маршруты можно создавать в Гугле Земля. Но, я подумал, что у человека может быть свой взгляд на маршрут (туристический). Человек возьмет нарисует схему движения и сохранит ее в xml и сделает достоянием других людей. Этот же маршрут можно будет потом отредактировать.
Флеш не может самостоятельно записывать данные в файл — для этого ему нужен посредник, например, PHP.
Если ставить вопрос более широко — зачем, то я просто заметил, что к блогу обращаются программисты. Вот и решил писать посты для них и по тем темам, в которых сам разобрался.
sm100.ru/flash/sheme2.html
вот ссылка на черновой вариант графопостроителя. Еще нет многих функций. Нет, например, сохранения.
так я потому и спросил 😉 потому что нахожусь на пути изучения flash
Вот сюда прошлыми датами я занес несколько других наблюдений (рассмотрений, находок, рецептов)
sm100.ru/archives/category/_prochitay-eto/programmirovanie/php/
а вот сайт с рецептами для Flash. Прямо так, как я люблю
java2s.com/Code/Flash-Flex-ActionScript/CatalogFlash-Flex-ActionScript.htm
взять готовый шаблон, и переделать под свои нужды.