繁体   English   中英

我可以使用header()传递查询字符串参数吗?

[英]Can I use header() to pass query string parameters?

我在Windows上使用XAMPP。

我已经将Apache配置为将所有请求重定向到controller.php文件。 在执行任何其他处理之前,控制器会将所有请求记录到数据库,并且还会执行其他一些操作,包括检查访问所涉及文件的权限。

大多数请求映射到一个文件,然后我使用适当的头文件和一个读取文件。 例如:

header ( 'Content-Type: text/css' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

我的问题是,如果URL包含查询字符串,我不知道如何将其传递给该文件。

http:///myswf.swf?q1 =测试映射到C:\\ SWF \\ myswf.swf

header ( 'Content-Type: applicaton/x-shockwave-flash' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );

无法将q1参数传递给SWF。

我无法修补SWF。

我应该如何调用SWF并成功从PHP中传递参数?

SWF文件未在服务器上执行。 因此,您无法将任何内容“传递” SWF文件中。 该文件只是由客户端下载,然后在浏览器中运行,它将获取URL参数。 从客户端来看,这看起来像这样(简化):

只要该过程在客户端这样工作,就无论您如何准确地提供文件。

据我所知,你不能在文件名中使用GET参数,所以readfile(filename.php?q = 123); 不会传递参数,

事实上,我认为你可以做到这一点的唯一方法是使用远程file_get_contents(); 如:

echo file_get_contents("http://domain.com/file.swf?params");

在这种情况下,domain.com上的web服务器将处理swf文件的参数,这意味着SWF文件需要公开访问,但没有人会知道它所在的位置,所以你可以有一个文件夹比如domain.com/asfqwasc213412sad/file.swf来模糊它

我对SWF如何处理GET参数没有太多经验,所以这就是用params服务SWF文件的所有假设

更新感谢@deceze获取此信息,由于params的工作方式,这可能不适用于SWF文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM