如何使用 php readfile 将 swf 加载到另一个 swf 并保留 url 参数?

Posted

技术标签:

【中文标题】如何使用 php readfile 将 swf 加载到另一个 swf 并保留 url 参数?【英文标题】:how can i load a swf into another swf using php readfile and retain the url parameters? 【发布时间】:2011-07-13 13:25:42 【问题描述】:

我正在使用 php 通过函数 readfile() 读取文件(由用户机器上的 cookie 指定)。 我正在阅读的文件是一个 actionscript 3 flash 文件,它依赖于附加到 url 的配置文件才能正常运行。

例如:http://www.pathToFlash.com/file.swf?CONFIG_URL=http://www.pathToConfig.com/config.xml

当我使用 readfile 时 - 正确设置了标头并将 swf 返回给浏览器,然后浏览器运行它。我发现使用这种方法必须将配置文件(CONFIG_URL)附加到 php 文件的 url 才能被 swf 正确读取 - 因为 swf 认为它自己的 php 文件的路径。

当仅涉及这两个元素时这很好 - 但是当将 php>read(swf) 组合加载到另一个 swf 时 - 'read' swf 返回一个为空的 url(使用 this.root.loaderInfo.url ),因此无法正确执行,因为没有配置文件 (CONFIG_URL)。

我的问题是:如何从 php 页面加载 swf 文件(使用 readfile、fopen 等)并传入 $get 参数?

【问题讨论】:

【参考方案1】:

首先:this.root.loaderInfo.url 需要是:this.root.loaderInfo.parameters.url

第二个root.loaderInfo.parameters 只能从root swf 访问。 这意味着你不能在swf里面对php说:load.php?swf=second.swf&someParameter=1234,而直接为加载的swf解析一些参数。

解决方案(不止一个)是:

    您需要为 root.swf 设置所有这些参数(当您加载它时)

mainConfig=xml/config.xml secondSWFconfig=xml/secondconfig.xml

等等……

    在将由root.swf加载的second.swf中,您需要创建函数:

    公共函数设置参数(值:对象) // 这里是所有参数的赋值

    在加载 second.swf 后启动的 root.swf 函数中:

    私有函数 onSecondSWFLoaded (e: Event) : void e.currentTarget.content['parameters'] = this.root.loaderInfo.parameters;

然后在第二个 swf 中,您将获得这些参数,然后您可以启动所需的一切。

问候。

【讨论】:

以上是关于如何使用 php readfile 将 swf 加载到另一个 swf 并保留 url 参数?的主要内容,如果未能解决你的问题,请参考以下文章

通过 PHP 检索 GET 变量,在同一脚本上发送到 SWF?

如何使用 PHP 集成 AWS SWF,以便可以从用户界面进行管理?

Php中 readfile() 文件大小如何设置?

如何在 CakePHP 中嵌入 swf 文件

如何在 swf 中发布 php 变量?

如何使用 Amazon SWF [关闭]