Php 使用GET-in-require
我有两个简单的PHP文件: test.phpPhp 使用GET-in-require,php,Php,我有两个简单的PHP文件: test.php <?php $a=10; require "use.php?c=$a"; ?> use.php: <?php $test=$_GET['c']; echo $test; ?> 但它什么也不返回 怎么了?这不是您想要使用的require:您通常使用它来包含文件系统路径,该路径不适用于GET参数。GET参数仅在HTTP URL中工作。(HTTP请求很慢,因此您几乎不希望通过URL包含某些内容。) 执行required的
<?php
$a=10;
require "use.php?c=$a";
?>
use.php:
<?php
$test=$_GET['c'];
echo $test;
?>
但它什么也不返回
怎么了?这不是您想要使用的
require
:您通常使用它来包含文件系统路径,该路径不适用于GET参数。GET参数仅在HTTP URL中工作。(HTTP请求很慢,因此您几乎不希望通过URL包含某些内容。)
执行require
d的代码,就好像它是当前脚本的一部分一样
所以你可以做:
<?php
$a=10;
require "use.php";
?>
use.php
<?php
$test=$a;
echo $test;
?>
这不是您想要使用的
require
:您通常使用它来包含文件系统路径,该路径不适用于GET参数。GET参数仅在HTTP URL中工作。(HTTP请求很慢,因此您几乎不希望通过URL包含某些内容。)
执行require
d的代码,就好像它是当前脚本的一部分一样
所以你可以做:
<?php
$a=10;
require "use.php";
?>
use.php
<?php
$test=$a;
echo $test;
?>
include()
和require()
不要发出HTTP请求,除非您提供完整的URL,否则它们在本地文件系统上工作$\u GET
和朋友在填充URL参数时使用URL参数。代码不应该工作,因为您试图require()
一个名为use.php?c=$a
的文件,而不是名为use.php
的文件,将值$a
传递给参数c
,这正是您想要的
这将有助于:
test.php
<?php
$a=10;
require "use.php";
?>
<?php
echo $a;
?>
include()
和require()
不要发出HTTP请求,除非您提供完整的URL,否则它们在本地文件系统上工作$\u GET
和朋友在填充URL参数时使用URL参数。代码不应该工作,因为您试图require()
一个名为use.php?c=$a
的文件,而不是名为use.php
的文件,将值$a
传递给参数c
,这正是您想要的
这将有助于:
test.php
<?php
$a=10;
require "use.php";
?>
<?php
echo $a;
?>
需要什么?可能是您正在寻找的位置:
$a=10;
header( "Location: use.php?c=$a" ) ;
需要什么?可能是您正在寻找的位置:
$a=10;
header( "Location: use.php?c=$a" ) ;
您可以尝试以下代码:
$oldget = $_GET;
$_GET = array('c'=>'a');
require "use.php";
$_GET = $oldget;
但我认为,您应该更改您的体系结构您可以尝试以下代码:
$oldget = $_GET;
$_GET = array('c'=>'a');
require "use.php";
$_GET = $oldget;
但我认为,你应该改变你的架构。但是我必须在文件之间保留变量名。有没有一种方法不需要变量名相同?@David您首先想做什么?如果你详细说明,也许有人能提出一个好的建议。但是我必须在文件之间保留变量名。有没有一种方法不需要变量名相同?@David您首先想做什么?如果你详细说明,也许有人能提出一个好的建议