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

Php 我可以使用header()传递查询字符串参数吗?,php,windows,http-headers,query-string,xampp,Php,Windows,Http Headers,Query String,Xampp,我在Windows上使用XAMPP 我已将Apache配置为将所有请求重定向到controller.php文件。在进行任何其他处理之前,控制器将所有请求记录到数据库中,并执行其他一些操作,包括检查访问相关文件的权限 大多数请求映射到一个文件,然后我使用适当的头和readfile提供该文件。例如: header ( 'Content-Type: text/css' ); header ( 'Content-Length: ' . filesize ( $file ) ); readfile ( $

我在Windows上使用XAMPP

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

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

header ( 'Content-Type: text/css' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );
我的问题是,如果URL包含查询字符串,我不知道如何将其传递到文件

映射到C:\SWF\myswf.SWF

header ( 'Content-Type: applicaton/x-shockwave-flash' );
header ( 'Content-Length: ' . filesize ( $file ) );
readfile ( $file );
无法将q1参数传递给SWF

我无法修补SWF


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

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

事实上,我认为你能做到这一点的唯一方法是使用远程文件获取内容();苏卡斯:

在这种情况下,domain.com上的Web服务器将处理swf文件的参数,这意味着swf文件需要公开访问,但没有人会指出它的位置,因此您可以使用类似
domain.com/asfqwasc213412sad/file.swf
的文件夹来隐藏它

我对SWF如何处理GET参数不是很有经验,所以这都是关于使用参数服务SWF文件的假设

更新
感谢@deceze提供此信息,这可能不会对SWF文件起作用,因为参数的工作方式不在服务器上执行SWF文件。因此,您不能将任何内容“传递”到SWF文件。该文件只需由客户端下载,然后在浏览器中运行,即它将获得URL参数。从客户端看,这看起来像这样(简化):

  • 浏览器打开URL
  • SWF文件下载
  • 浏览器执行下载的文件并向其传递URL/查询参数
只要客户端的处理过程是这样的,您如何准确地提供文件就无关紧要了。

事实上,我希望它仍然是这样工作的,我接触Flash已有一段时间了o)
echo file_get_contents("http://domain.com/file.swf?params");