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

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

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

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

【问题讨论】:

    标签: php flash 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 状态。 stackoverflow.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 的东西...。
        猜你喜欢
        • 2015-08-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-09
        • 2013-03-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多