如何使用 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?