通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?
Posted
技术标签:
【中文标题】通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?【英文标题】:Retrieving GET variable via PHP, send to SWF on same script? 【发布时间】:2011-02-28 23:47:53 【问题描述】:是否可以在 php 脚本中检索 GET 变量,然后将变量数据发送到同一脚本/文档上的 SWF?
我希望用户在 PHP 文档上选择一个项目,然后使用我正在开发的 Flash 应用程序来操作该数据。
我知道如何通过 URLLoader 将 PHP 脚本中的数据加载到 SWF 中,但只能从 SWF 中启动加载过程。所以,我问是否可以从外部源将 PHP 数据发送到 SWF。 SWF 是否需要以某种方式倾听?这里需要javascript吗?
非常感谢任何建议!
【问题讨论】:
【参考方案1】:如果您希望在加载 SWF 对象后从 PHP 加载信息,那么我建议您使用 XML 或 JSON 从服务器发送/请求信息。 JSON 可能更容易,因为您可以在 PHP 端调用 json_encode 和 json_decode 。以下是有关在 Flash 端解析 JSON 的一些信息。 http://www.cakesgood.com/2009/04/flash-cs3-actionscript-30-json-keep-it_3277.html
如果您只是想在加载时将数据从 PHP 传递到 SWF 文件,那么使用前面两个答案中提到的 flashvars 可能是您最好的选择。
另外,如果您尝试让服务器直接与 Flash SWF 文件通信,那么您可以使用 Flash 每 X 毫秒轮询一次服务器以获取新数据。
【讨论】:
谢谢@AWinter。在阅读@nathan 回答中的教程后,我仍在尝试让 FlashVars 工作。我现在正在研究 JSON,因为我以前没有使用过它。【参考方案2】:<object data=file.swf>
<param name=flashvars value="name=<?php echo $_GET['john'];?>">
</object>
【讨论】:
这就是它的完成方式...已经多次使用嵌入 Flash 的 php 页面完成此操作。【参考方案3】:我相信您正在寻找闪存变量。它基本上是对象/嵌入标签的参数,您将看起来像查询字符串的内容放入其中。然后可以通过 flash 对象访问查询字符串。
查看this tutorial 以获得更深入的解释。
【讨论】:
@nathan 谢谢,这个教程看起来写得很好,但我无法让它工作。var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters;
工作正常,但是当 flashvars 设置如下时paramObj['filename']
返回 null:<param name="FlashVars" value="filename=somename.jpg">
。我正在浏览器中对此进行测试。知道为什么它不起作用吗?
你有我可以看的测试页吗?
你有正确的 html,它就在 noscript 块中。将它移到主 html 中,你应该让它工作。
@nathan 谢谢。我最终还需要删除 Dreamweaver 为 flash 插入的 javascript。不过现在可以使用了!以上是关于通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?的主要内容,如果未能解决你的问题,请参考以下文章