Flash 调用 PHP 函数

Posted

技术标签:

【中文标题】Flash 调用 PHP 函数【英文标题】:Flash calling a PHP function 【发布时间】:2011-03-09 04:14:24 【问题描述】:

是否可以从 flash 中调用 php 函数并立即执行?

如果是这样,我怎么能这样做,因为我正在尝试调用一个 PHP 函数来更新用户的 Facebook 状态,但到目前为止我一直没有成功,所以我有点走投无路了。

任何帮助将不胜感激,谢谢!

【问题讨论】:

【参考方案1】:

我的想法类似于以下内容:

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 函数读取。

【讨论】:

【参考方案2】:

看看AMF PHP!

【讨论】:

AMF PHP 不适用于 cURL。在 php 中,您只需使用 AMF 文档创建一个服务,在 Flash(actionscript) 中创建一个服务(您可以在 AMF 文档中查看一些示例)。【参考方案3】:

将 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"]

【讨论】:

【参考方案4】:

我会在 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 函数

然后,该 javascript 函数可以向 php 脚本发出 ajax 请求。

编辑:

您可以直接发布数据而不使用 AJAX:

var firstName:String = "Gus";
var lastName:String = "Richardson";
var age:Number = 92;
getURL("@987654322@", "_blank", "POST");

【讨论】:

我提供的内容将允许 Flash 与您的 PHP 对话。那么让你的 PHP 与 FB 对话是另一回事。尝试阅读这篇文章,它可能会帮助您从 php 更新 facebook 状态。 ***.com/questions/1016730/… codesnippets.joyent.com/posts/show/1204 php 使用 cURL 发布到 FB 的一些代码。现在只需使用 $_POST 变量从 flash 到 PHP 脚本。 不幸的是,这些示例来自旧 api,我已经让它与新的图形 api 和 cURL 一起工作,再次感谢!【参考方案5】:

为什么您不使用 Facebook 的 Flash API:http://code.google.com/p/facebook-actionscript-api/?

【讨论】:

我不做 Flash 方面的事情,我只做 PHP,所以我无法真正控制 Flash 家伙做什么,但我会推荐它,谢谢! 如果不使用 Flash / ActionScript,您将无法解决此问题...但在您的情况下,我建议您使用 AMF PHP 的东西...。

以上是关于Flash 调用 PHP 函数的主要内容,如果未能解决你的问题,请参考以下文章

如何将 PHP 生成的 XML 文件包含到 flash vars 中,同时将当前的 php 函数传递到其中?

从Flash调用JS函数

ActionScript 3 从Flash调用JS函数

Flash AS3:调用javascript函数

PHP调用OCX控件的具体方法

Javafx怎么播放flash,就是我用Java main函数执行,直接调用Javafx做好的页面,为啥不能播放flash