2010-06-28 124 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"]