0

我的 Flash 应用程序存在一些一致性问题,当我回显要获取 Flash 的变量时,它并不总是能接收到 PHP 发送的内容,它似乎因 PC 而异。

我从数据库中获取信息,我需要将它传递给闪存,例如我需要通过 5 个变量 $uid,$name,$points,$from,$page 发送,我怎么能从PHP 使用 AMFPHP 闪存?

有人告诉我 AMFPHP 将是用于这种情况的最佳工具,但我不知道它是如何工作的,并且网站上的示例代码对我来说并不完全有意义。

提前谢谢!

4

2 回答 2

0

仅仅将几个变量发送到 Flash 文件,参与 AMFPHP 似乎很麻烦。我建议你试试:

  • Flashvars(尽管它仅限于短变量)
  • 加载变量
  • XML(从 PHP 返回您需要的 XML 值)

以上所有内容对我来说一直有效。

于 2010-07-01T07:56:26.850 回答
0

您不能将其从 PHP 推送到 Flash - 通信必须由 Flash 端发起。而且你不需要 AMFPHP ;只需使用URLLoader.

var ldr:URLLoader = new URLLoader();
ldr.addEventListener(Event.COMPLETE, onLoad);
ldr.load(new URLRequest("page.php"));

function onLoad(e:Event):void
{
  var loadedText:String = URLLoader(e.target).data;
  /**
   * Following will throw error if the text 
   * is not in the format `a=something&b=something%20else`
   * */
  var data:URLVariables = new URLVariables(loadedText);
  for(var t:Object in data)
    trace(t + " : " + data[t]);
}

在里面page.php,只需做一个简单的回声:

//don't forget to urlencode your variables.
echo "uid=$uid&name=$name&points=$points";
于 2010-07-01T12:56:48.743 回答