特定の場所に xml ファイルを保存するようユーザーに強制する方法があるかどうかを知りたいです。つまり、ファイルを保存する場所を選択できません。常にswfファイルと同じ場所に保存したい。
よろしくお願いします。
特定の場所に xml ファイルを保存するようユーザーに強制する方法があるかどうかを知りたいです。つまり、ファイルを保存する場所を選択できません。常にswfファイルと同じ場所に保存したい。
よろしくお願いします。
いいえ、できません。
そのためには、ユーザーのファイルシステムへの有効なパスを知る必要があります。Flash Playerは を持たない他の OS でも動作するC:\mylocation\
ため、単に使用することはできません。C:\mylocation\
Flash を Web 用ではなく内部ツールとして使用している場合は、データをクリップボードに保存し、そのクリップボード データを取得して特定のパスに保存するバックグラウンド アプリケーションを実行するなどの代替手段があります。または単にAIRを使用します。
オンラインで実行する場合は、xml を編集した後に文字列に変換できます。この文字列は、POST または GET 要求を使用して、php またはその他のサーバー側言語に送信できます。
swf はクライアント側で実行されるため、サーバー上のファイルにアクセスできません。php のようなサーバー側の言語は、ファイルにアクセスして書き込むこともできます。
as3 で、xml 文字列を php スクリプトに送信します。( AS3 URL 文字列を確認 -> URLRequest )
// url variables all which will appear after ? sign
var url = "www.example.nl/phpfilelocation.php";
var urlVariables : URLVariables = new URLVariables ();
urlVariables.xmldata = myXml.toString();
var request : URLRequest = new URLRequest ( url );
request.data = urlVariables;
request.method = URLRequestMethod.POST;
var loader : URLLoader = new URLLoader ();
loader.addEventListener( Event.COMPLETE, handleLoaderComplete )
loader.load ( request );
php 側では、このコードを使用できます (これは例であり、誰もが URL を使用して xmldata.
$file = "myFile.xml";
$fileHandle = fopen($file, 'w');
fwrite($fileHandle , $_POST['xmldata']);
fclose($fileHandle );