为什么向URL添加GET参数会搞乱SWF Player

时间:2010-11-23 09:41:06

标签: php url flash

我被困住了,这可能从根本上说是显而易见的。我对SWF播放器了解不多,我刚刚提供了它,并试图将其放入现有的代码中。

<script type="text/javascript">
var SD = window.parent;
var flashvars = {
        videoPath: "<?php echo($movie_url);  ?>",
        ccPath: "<?php echo($cc_url);  ?>"
};
var params = {};
params.allowscriptaccess = "always";
params.allowFullScreen = "true";
var attributes = {};

swfobject.embedSWF("player/player.swf", "myContent", "100%", "100%",
"9.0.124","htassets/install/expressInstall.swf", flashvars, params, attributes);

swffit.fit("myContent",600,330,1903,860,false,false);
</script>

现在,如果$ movie_url变量是一个简单的“http://myhost.com/movie.mov”,那么一切正常。

但我正在尝试通过读取文件的PHP脚本来提供文件,以便可以控制访问,例如

$movie_url = "get_movie.php". 

这也有效。但是,我开始向网址添加GET参数的那一刻,例如

$movie_url = "get_movie.php?movie=2&resolution=300"
然后一切都崩溃了。用于为电影提供服务的PHP脚本可以正常工作 - 如果我只使用浏览器栏中的正确参数或使用wget调用它,那就没问题了。所以问题似乎是当它通过SWF播放器时会受到损坏,有些如何。

我该怎么做?谢谢你的帮助。

编辑:我怀疑它可能与编码网址有关,但我尝试过的所有内容,我似乎无法开始工作。

1 个答案:

答案 0 :(得分:0)

尝试加载视频时,查看哪个网址闪存实际调用可能会有所帮助。您可以使用charles proxy之类的工具来实现此目的。

如果结果是,您的Flash视频播放器会从网址中删除get参数,并且没有api手动添加它们,您可以在服务器上使用url rewrite rule,以通过没有(可见)get参数的网址,例如/ get_movie / 2/300