0

関数 readfile() を使用して、php を使用してファイル (ユーザーのマシンの Cookie で指定) を読み取ります。私が読んでいるファイルは、正常に機能するために URL に追加された構成ファイルに依存する actionscript 3 フラッシュ ファイルです。

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

readfile を使用すると、ヘッダーが適切に設定され、swf がブラウザーに返されて実行されます。この方法を使用すると、swf が適切に読み取るために、php ファイルの URL に構成ファイル (CONFIG_URL) を追加する必要があることがわかりました。

これらの 2 つの要素だけが関係している場合は問題ありませんが、php>read(swf) の組み合わせを別の swf にロードすると、「読み取り」swf は null の URL を返します (this.root.loaderInfo.url を使用)。構成ファイル (CONFIG_URL) がないため、正しく実行できません。

私の質問は、php ページから swf ファイルを読み込み (readfile、fopen などを使用)、$get パラメータを渡すにはどうすればよいですか?

4

1 に答える 1

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 / config.xml secondSWFconfig = xml / secondconfig.xml

や。。など...

  1. root.swfによってロードされるsecond.swfで、関数を作成する必要があります。

    public function set parameters(value:Object){//ここではパラメータのすべての割り当て}

  2. second.swfがロードされた後に起動されるroot.swf関数では、次のようになります。

    プライベート関数onSecondSWFLoaded(e:イベント):void {e.currentTarget.content ['parameters'] = this.root.loaderInfo.parameters; }

次に、2番目のswfでこれらのパラメーターを取得し、その後、必要なすべてを起動できます。

よろしく。

于 2011-03-13T12:24:09.527 に答える