在PHP中的require_once中使用查询字符串

时间:2010-12-19 23:52:26

标签: php query-string require

在我的一个页面上,我有require_once('../path/to/url/page.php');,没有任何问题。我添加查询字符串require_once('../path/to/url/page.php?var=test');的那一刻它将不再包含该文件。它只是空白。任何人都有任何想法?你能否在require?

中使用查询字符串?

谢谢, 莱恩

4 个答案:

答案 0 :(得分:17)

通过使用require_once('../path/to/url/page.php?var=test');,php不会向page.php发出新请求,它实际上会搜索名为page.php?var=test的文件并包含它,因为在unix中,你可以拥有这样的文件名。如果要将变量传递给该脚本,只需定义它:$var="test",它就可以在该脚本中使用。

答案 1 :(得分:1)

要求加载文件(来自文件路径)以包含。它不通过apache(或其他web服务器)请求该文件,因此您无法以这种方式传递查询字符串。

如果您需要将数据传递到文件中,您只需定义一个标准的php变量。

实施例

<?php $a_variable = "data"; require_once('../path/to/url/page.php'); ?>

注意,必须在调用include / require之前设置变量,否则它将不可用。

答案 2 :(得分:0)

要求只接受添加任何请求毫无意义的路径,因为它不会产生任何请求 它简单包括当前所需的代码

答案 3 :(得分:0)

所有回答都是真的。但最重要的是:因为$_GET是全局的,所以它也存在于所有包含的文件中,因此使用include传递这些参数绝对没用。