我使用PHP加载Flash文件 test.php:
$widget = WidgetFactory::getInstanceByHash($_GET['hash']);
$file = $widget->getUrl();
$_GET['param1'] = "97df5ea7342b7e55b7ef3d402b585d1a";
header("Content-Type: application/x-shockwave-flash");
readfile($file);
$ file 的网址例如:“http://adresse/component1.swf?param1=XXX”
如果我在浏览器中输入“http://adresse/test.php?hash=XXXXXXXXXXXXX”,我可以看到没有参数 param1 的Flash文件。
我试图添加:$ _GET ['param1'] =“97df5ea7342b7e55b7ef3d402b585d1a”;
但它不起作用。
所以,我想知道是否可以使用标题函数添加参数......
答案 0 :(得分:1)
GET参数是由HTTP_REQUEST
设置的参数,但header()
函数设置HTTP_RESPONSE
的参数,因此响应中从不存在GET参数。
您的代码存在什么问题?结果应该如何?
编辑:您可能会尝试使用附加参数的file_get_contents()或curl()来获取文件:
echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');
答案 1 :(得分:0)
我不确定我明白你在这里要说的是什么。
如果您尝试这样做:
<?php
header("Content-Type: application/x-shockwave-flash");
readfile("http://adresse/component1.swf?param1=97df5ea7342b7e55b7ef3d402b585d1a");
?>
然后我希望你会得到你想要的东西。 $ _GET是URL中传递的CGI参数的解析副本。如果在PHP中覆盖它,它不会更改传递给脚本的CGI参数。传递给脚本的CGI参数与后续HTTP调用中传递的参数无关,除非您明确地将它们包含在URL中。
下进行。