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 函数传递到其中?
Javafx怎么播放flash,就是我用Java main函数执行,直接调用Javafx做好的页面,为啥不能播放flash