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

时间:2011-03-11 14:44:54

标签: php flash actionscript-3 readfile url-parameters

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

ex: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返回一个null的url(使用this.root.loaderInfo.url )因此没有正确执行,因为没有配置文件(CONFIG_URL)。

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

1 个答案:

答案 0 :(得分:0)

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

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

解决方案(还有一个)是:

  1. 您需要为root.swf设置所有这些参数(加载时)
  2. mainConfig = XML / config.xml中 secondSWFconfig = XML / secondconfig.xml

    等...

      第二个.wf中的
    1. 将由root.swf加载,你需要创建函数:

      公共函数集参数(value:Object) {    //这里所有参数的分配 }

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

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

    3. 然后在第二个瑞士法郎中,您将获得这些参数,然后您可以启动所需的一切。

      问候。