2012-09-10 64 views
0

所以我有這兩個腳本可以相互交流來在線創建一個xml文件。我現在的方式是,AS3 swf發送一些變量到一個php腳本來寫。我得到了創建部分,但由於某種原因,PHP不寫入一個XML文件。我嘗試將變量更改爲簡單的「foobar」字符串,並且它可以工作。但如果我做:不能從as3傳遞xml到php

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

它doesen't寫它。那麼,這是正常的嗎?

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"; 
?> 
+0

你試過谷歌嗎? http://www.actionscript.org/forums/showthread.php3?t=169554 –

+0

雖然我很欣賞幫助,但我可以沒有諷刺的生活。是的,我嘗試使用Google搜索,我發現的大多數問題都是加載器和跨域問題,這不是這裏的情況。 – FoxLift

回答

3

像你這樣你不能在Flash中創建一個xml。

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

因爲在您的文件中沒有任何對象。你需要做的是在實例化XML對象時提供一個字符串作爲參數。

所以,你應該這樣做下面,

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

現在你的代碼可以發送XML到PHP。

+0

謝謝。我(錯誤地)認爲XML不需要被稱爲字符串。也許XMLList?無論如何,它的工作,謝謝。 – FoxLift

+0

歡迎您:) – Moorthy