我想要include()一个位于我的服务器上的php文件,带有额外的GET属性.但它不会起作用:
include('search.php?q=1');
Run Code Online (Sandbox Code Playgroud)
它给出的错误:
PHP Warning: include(): Failed opening './search.php?q=1' for inclusion
Run Code Online (Sandbox Code Playgroud)
似乎它试图打开一个名为'search.php?q = 1'的文件而不是打开'search.php'文件并向其发送GET属性.
*请注意,如果我不添加任何GET属性,它确实有效:
include('search.php');
Run Code Online (Sandbox Code Playgroud)
Pek*_*ica 28
您不希望这样做:您必须执行http请求才能传递GET参数.以这种方式调用的PHP脚本将在单独的PHP进程中运行.
最佳方式是在本地包含文件:
include('search.php');
Run Code Online (Sandbox Code Playgroud)
并手动传递任何参数,例如
$q = "1";
include('search.php'); // expects `$q` parameter
Run Code Online (Sandbox Code Playgroud)
或者,更干净地,将您拥有的任何内容search.php放入可以使用参数调用的函数或类中:
include('search.php'); // defines function my_search($q)
my_search(1);
Run Code Online (Sandbox Code Playgroud)
Haz*_*aza 19
在简单的解决方法是设置你的GET价值,你包括文件之前.
$_GET['q'] = 1;
include('search.php);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52727 次 |
| 最近记录: |