【问题标题】:Is it possible to send parameters by using Header function?是否可以使用 Header 函数发送参数?
【发布时间】:2010-07-27 08:45:50
【问题描述】:

我使用 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 例如:"http://adresse/component1.swf?param1=XXX"
如果我在浏览器中输入 "http://adresse/test.php?hash=XXXXXXXXXXXXX",我可以看到没有参数 param1 的 flash 文件。
我尝试添加:$_GET['param1'] = "97df5ea7342b7e55b7ef3d402b585d1a";
但它不起作用。

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

【问题讨论】:

    标签: php


    【解决方案1】:

    GET 参数是由HTTP_REQUEST 设置的参数,但header() 函数设置HTTP_RESPONSE 的参数,因此响应中永远不会有GET 参数。

    您的代码的实际问题是什么?结果应该如何?

    编辑:您可以尝试使用附加参数的 file_get_contents() 或 curl() 获取文件:

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

    【讨论】:

    • 其实我的问题是我的component1.swf中的参数param1在被php文件加载时无法获取。一种解决方案是在标签对象的属性 flashvar 中设置参数,但我失去了模块化...感谢您的回答
    • 不能用重写规则将hash参数重写为param1参数吗?还是这两个参数的值不同?
    • echo file_get_contents($file.'?param1=97df5ea7342b7e55b7ef3d402b585d1a');不起作用。我认为,它们不是通过 php 发送 flashvar 的解决方案......
    • file 是服务器上的文件路径还是 URL?您究竟如何尝试将闪存集成到您的文件中。你能给我们一个完整的例子吗?
    • $file 是一个 URL。我有一个网页,其中包含: ... 127.0.0.1/widget.php?hashWidget=7e564vcfdfdf564gecd" /> ... 127.0.0.1/widget.php?hashWidget=7e564vcfdfdf564gecd" ...> widget.php 会根据参数hashWidget 加载flash 但是flash 文件是动态的,我要传参数。在 Flash 中,我们可以传递这样的参数:“127.0.0.1/flash.swf?param=helloworld”。问题是参数不是通过widget.php传递的
    【解决方案2】:

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

    如果你试试这个:

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

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

    C.

    【讨论】:

      猜你喜欢
      • 2023-03-28
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多