2010-06-28 128 views
0

是否可以從Flash調用PHP函數並立即執行?Flash調用PHP函數

如果是的話我怎麼能這樣做,因爲我試圖調用一個PHP函數來更新用戶臉書的狀態,但是到目前爲止我一直沒有成功,所以我最後的結果是我的繩子。

任何幫助將不勝感激,thanx!

回答

3

我的想法是類似下面的東西:

function updateFBStatus(newStatus) 
{ 
    // create two new instances of LoadVars, one to send and one to receive data 
    var dataOut:LoadVars = new LoadVars(); 
    var dataIn:LoadVars = new LoadVars(); 

    // define what should happen when the response is received, 
    // using 'this' to refer to dataIn and get data from it 
    dataIn.onLoad = onReturn; 

    dataOut["newStatus"] = newStatus; 

    dataOut.sendAndLoad(serverURL+"setFBStatus.php", dataIn, "POST"); 
} 

你再定義你的服務器上的setFBStatus.php文件的讀取$_POST['newStatus'],做任何你會在PHP通常做設定的Facebook狀態。如果需要,該php文件可以選擇以url請求格式(即paramName1=param1&paramName2=param2&)回顯一些返回值,供onReturn函數讀取。

3

看看AMF PHP

+0

cURL會成爲一個選項嗎? – Odyss3us 2010-06-28 14:54:07

+0

AMF PHP不能與cURL一起使用。在PHP中,您只需使用AMF文檔和Flash(actionscript)服務創建服務(您可以在AMF文檔中看到一些示例)。 – 2010-06-28 16:39:03

0

我會做到這一點是在Flash ActionScript的方法是調用使用getURL("javascript:someFunction(var-1, var-2, var-n)")http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001180.html

的JavaScript功能,可以再做一個Ajax請求PHP腳本的JavaScript函數。

編輯:

你可以只直接上傳數據,而無需使用AJAX:

var firstName:String = "Gus"; 
var lastName:String = "Richardson"; 
var age:Number = 92; 
getURL(" http://www.adobe.com ", "_blank", "POST"); 

+0

cURL會成爲一個選項嗎? – Odyss3us 2010-06-28 14:54:32

+0

我給出的內容將允許Flash與您的PHP交談。那麼你的PHP與FB交談是另一回事。嘗試閱讀這篇文章,它可能會幫助您更新來自php的Facebook狀態。 http://stackoverflow.com/questions/1016730/facebook-status-update-through-php – Brady 2010-06-28 15:11:41

+0

http://codesnippets.joyent.com/posts/show/1204 一些代碼爲PHP張貼到FB使用cURL。現在只需使用$ _POST變量從閃存到該PHP腳本。 – Brady 2010-06-28 15:14:01

0

爲什麼不使用爲Facebook閃存API:http://code.google.com/p/facebook-actionscript-api/

+0

我沒有做Flash的一面,我只做PHP,所以我並不真正控制Flash的工作,但我會推薦它,thanx! – Odyss3us 2010-06-28 17:51:55

+0

如果不使用Flash/ActionScript,你不會解決這個問題......但在你的情況下,我會建議去AMF PHP的東西.... – TheHippo 2010-06-28 20:42:35

1

將PHP函數保存在facebookFunction.php中,並使用URLLoader來調用它。

var urlLoader:URLLoader = new URLLoader(); 
var data:URLVariables = new URLVariables(); 
//you can use dot syntax and/or [] syntax to add data. 
data.user = "kiele"; 
data["someThingElse"] = "something else"; 
var req:URLRequest = new URLRequest("facebookFunction.php"); 
req.data = data; 
urlLoader.load(req); 

在php方面,您可以從全局get變量中讀取值。

$user = $_GET["user"]