是否可以使用标题功能发送参数?

时间:2010-07-27 08:45:51

标签: php

我使用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”;

但它不起作用。

所以,我想知道是否可以使用标题函数添加参数......

2 个答案:

答案 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中。

下进行。