通过 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:&lt;param name="FlashVars" value="filename=somename.jpg"&gt;。我正在浏览器中对此进行测试。知道为什么它不起作用吗? 你有我可以看的测试页吗? 你有正确的 html,它就在 noscript 块中。将它移到主 html 中,你应该让它工作。 @nathan 谢谢。我最终还需要删除 Dreamweaver 为 flash 插入的 javascript。不过现在可以使用了!

以上是关于通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?的主要内容,如果未能解决你的问题,请参考以下文章

php高级

如何检索由axios post请求发送的php中的变量[重复]

在获取数据时将变量发送到 PHP 脚本

php 在同一页面上验证,然后通过不同的 php 进行处理

PHP超全局变量

php 发送命令到端口(通过 tcp)