Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 是否可以使用Header函数发送参数?_Php - Fatal编程技术网

Php 是否可以使用Header函数发送参数?

Php 是否可以使用Header函数发送参数?,php,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);

我使用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的url例如为:“
如果我在浏览器中键入“”,我可以看到不带参数的flash文件param1
我试图添加:$_GET['param1']=“97df5ea7342b7e55b7ef3d402b585d1a”
但它不起作用


因此,我想知道是否可以使用header函数添加参数…

GET参数是由
HTTP\u请求设置的参数,但是
header()
函数设置
HTTP\u响应的参数,因此响应中永远不会有GET参数

代码的实际问题是什么?结果应该是怎样的

编辑:您可以尝试使用附加参数的file\u get\u contents()或curl()获取文件:

echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');

GET参数是由
HTTP\u请求设置的参数
,但是
header()
函数设置
HTTP\u响应的参数
,因此响应中永远不会有GET参数

代码的实际问题是什么?结果应该是怎样的

编辑:您可以尝试使用附加参数的file\u get\u contents()或curl()获取文件:

echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');

我不确定我是否明白你想说什么

如果您尝试以下方法:

 <?php
 header("Content-Type: application/x-shockwave-flash");
 readfile("http://adresse/component1.swf?param1=97df5ea7342b7e55b7ef3d402b585d1a");
 ?>

那么我希望你会得到你想要的$_GET是在URL中传递的CGI参数的解析副本。如果您在PHP中覆盖它,它不会更改传递给脚本的CGI参数。传递给脚本的CGI参数与后续HTTP调用中传递的参数无关,除非您在URL中显式地包含它们


C.

我不确定我是否明白你在这里想说什么

如果您尝试以下方法:

 <?php
 header("Content-Type: application/x-shockwave-flash");
 readfile("http://adresse/component1.swf?param1=97df5ea7342b7e55b7ef3d402b585d1a");
 ?>

那么我希望你会得到你想要的$_GET是在URL中传递的CGI参数的解析副本。如果您在PHP中覆盖它,它不会更改传递给脚本的CGI参数。传递给脚本的CGI参数与后续HTTP调用中传递的参数无关,除非您在URL中显式地包含它们


C.

实际上,我的问题是,当php文件加载component1.swf时,我无法在其中获取参数param1。一种解决方案是在tag对象的属性flashvar中设置参数,但我在模块化方面失败了。。。谢谢您的回答。您不能使用重写规则将哈希参数重写为param1参数吗?或者这两个参数的值不同?echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');不起作用。我认为,它们不是通过php发送flashvar的解决方案……文件是服务器上的文件路径还是URL?您究竟是如何尝试将flash集成到您的文件中的。你能给我们一个完整的例子吗?$file是一个URL。我有一个网页,其中包含:。。。php将根据参数hashWidget加载flash,但是flash文件是动态的,我必须传递参数。在flash中,我们可以传递如下参数:“”。问题是参数没有通过widget.phpac传递。实际上,我的问题是,当php文件加载参数param1时,我无法在component1.swf中获取参数param1。一种解决方案是在tag对象的属性flashvar中设置参数,但我在模块化方面失败了。。。谢谢您的回答。您不能使用重写规则将哈希参数重写为param1参数吗?或者这两个参数的值不同?echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');不起作用。我认为,它们不是通过php发送flashvar的解决方案……文件是服务器上的文件路径还是URL?您究竟是如何尝试将flash集成到您的文件中的。你能给我们一个完整的例子吗?$file是一个URL。我有一个网页,其中包含:。。。php将根据参数hashWidget加载flash,但是flash文件是动态的,我必须传递参数。在flash中,我们可以传递如下参数:“”。问题是参数没有通过widget.php传递