2011-03-11 31 views
0

我正在使用php通過readfile()函數讀取文件(由用戶計算機上的cookie指定)。 我正在閱讀的文件是一個actionscript 3 flash文件,它依賴於附加到url的配置文件才能正常工作。我怎樣才能加載一個瑞士法郎到另一個瑞士法郎使用php讀取文件並保留url參數?

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

當我使用的ReadFile - 頁眉設置是否正確,瑞士法郎返回,然後運行它的瀏覽器。我發現使用這種方法時,配置文件(CONFIG_URL)必須附加到php文件的url中,以便swf正確讀取 - 因爲swf會考慮它自己的php文件的路徑。

這是很好,當這些是涉及的唯一兩個元素 - 但當加載php>讀取(SWF)組合到另一個SWF - '讀取'SWF返回一個URL爲null(使用this.root.loaderInfo。 url),因此沒有正確執行,因爲沒有配置文件(CONFIG_URL)。

我的問題是:如何從PHP頁面加載swf文件(使用readfile,fopen,無論)並傳入$ get參數?

回答

0

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

其次root.loaderInfo.parameters只能從根swf訪問。 這意味着你不能在swf裏面說php:load.php?swf = second.swf & someParameter = 1234,並且直接爲加載的swf解析一些參數。

解決方案(還有更多吳丹一個)是:

  1. 您需要設置所有這些參數的root.swf(當你加載它)

mainConfig = XML /配置.XML secondSWFconfig = XML/secondconfig.xml

和等...

  1. 在second.swf將由root.swf您需要創建函數加載:

    公共功能設置參數(值:對象) {// 這裏的參數 的所有分配新建分配FY}

  2. 在其second.swf後推出的root.swf功能被加載:

    私有函數onSecondSWFLoaded(E:事件):無效 { e.currentTarget.content [ '參數'] = this.root .loaderInfo.parameters; }

,然後在第二個SWF文件,您會剛開這些參數,並在他們之後,你可以啓動你需要的一切。

關於。

相關問題