无法将asml从as3传递给php

时间:2012-09-10 10:07:41

标签: php xml actionscript-3 flash

所以我有两个相互通信的脚本在线创建一个xml文件。我现在拥有它的方式,AS3 swf将一些变量发送到php脚本来编写。我得到了创建部分,但由于某种原因,php不会写一个xml文件。我尝试将变量更改为一个简单的“foobar”字符串,它的工作原理。但如果我做了:

var temp:XML = new XML(<test></test>);

它不会写它。那么怎么了,这是正常的吗?

AS3

function SaveXml(inputxml:XML){
    var temp:XML = <teste></teste>;
    var variables:URLVariables = new URLVariables();
    variables.xmlfile = temp;
    variables.folder = TestProperties.Username;
    var request:URLRequest = new URLRequest("savexml.php");
    request.method = URLRequestMethod.POST;
    request.data = variables;

    var loader:URLLoader = new URLLoader();
    loader.dataFormat = URLLoaderDataFormat.VARIABLES;

    try{
        loader.load(request);
    }
    catch (error:Error) {
        trace("Unable to load URL");
    }

    loader.addEventListener(Event.COMPLETE, completeHandler);

    function completeHandler(e:Event)
    {
                //something when complete;
    }
    }

PHP

<?php

date_default_timezone_set('GMT');

$xmlfile = $_POST["xmlfile"];
$folder = $_POST["folder"];
$filename = date('ymdhis').".xml";

if(! file_exists("./user/".$folder."/")){
    mkdir("./user/".$folder."/", 0777);
}

$handle = fopen("user/".$folder."/".$filename, 'w+');
fwrite($handle, $xmlfile );
fclose($handle);

echo "result=success";
?>

1 个答案:

答案 0 :(得分:2)

您无法像在Flash中一样创建xml。

var temp:XML = <teste></teste>;

因为文件中没有对象。您需要做的是在实例化XML对象时提供一个字符串作为参数。

所以,你应该做类似下面的事情,

var temp:XML = new XML("<teste></teste>");

现在您的代码可以将xml发送到php。