どの様に行えばよいか分かりません。
※1.xml内の内容を変えるなどです。
もしくはできないのでしょうか?
やり方は、または良い方法をお教えいただけませんでしょうか?
私ならサーバ側にPHPなどで実装した更新用のスクリプトを置いて、それにActionScriptからデータを渡します。
手元に環境が無いので試していませんが、疑似コードです。
ActionScript
import flash.net.URLRequest; import flash.net.URLLoader; import flash.net.URLVariables; import flash.events.Event; var request:URLRequest = new URLRequest('http://example.jp/write.php'); var data:URLVariables = new URLVariables(); data.hoge = '更新したいデータ'; data.fuga = 'データその2'; request.data = data; var ua:URLLoader = new URLLoader(request); ua.addEventListener(Event.COMPLETE, completeListener); ua.load(); function completeListener(event:Event){ };
write.php
$nodes = simplexml_load_file('hoge.xml'); var_dump($nodes); //この内容によって、以下は書き変えてください $nodes[0]->hoge = $_GET['hoge']; $nodes[0]->fuga = $_GET['fuga']; file_put_content('hoge.xml', $nodes->asXML);
<?xml version="1.0" encoding="UTF-8"?> <rootnode> <node> <hoge>更新したいデータ</hoge> <fuga>データその2</fuga> </node> <node> <hoge></hoge> <fuga></fuga> </node> </rootnode>
PHPのXML書き込み部分が非常にアヤシイですが、参考になれば幸いです。
flash.net.URLLoader (ActionScript 3.0)
#1さんの回答に補足です。
>ただ、サーバー側が処理もしてくれません。
本当に処理をしていないのかどうか、問題の切り分けはされましたでしょうか。
例えば上記で示した例では、
http://example.jp/write.php?hoge=testhoge&fuga=testfuga
などとしてブラウザから直接アクセスして成功するようなら、ActionScriptに問題があることが分かります。
また開発中はPHPの設定などで、error_reporting = E_ALL, display_errors = Onにすると良いです。
スクリプト中でも設定できます。
error_reporting(E_ALL); ini_set('display_errors', 'On');
まずはPHP側、ActionScript側どちらに問題があるかを確認すると良いと思います。
ありがとうございます。
私のPHP送信のイメージはPHPの画面に遷移してしまうものかと思ってました!
ただ、サーバー側が処理もしてくれません。
ローカル環境で、SWFを実行しているためでしょうか?