2011-04-24 124 views
4

我想需要一个文件,但也通过URL GET变量,但是当我写:PHP需要和包括GET

<?php 
    require_once("myfile.php?name=savagewood"); 
?> 

我得到一个致命的错误。我如何以不同的方式来完成这个功能,这样我就不会有致命的错误?

回答

14

变量将正常使用,您不必像这样通过。

$name='savagewood'; 
require_once("myfile.php"); 

$name将在myfile.php

+2

当然,只有它们在相同的范围内,或者包含脚本是非程序性的或$ name位于全局变量中。 – mario 2011-04-24 17:14:34

+0

在我的情况下,这是行不通的。 '$ name = $ _POST ['test'];'这里我得到了$ name的值。但在'myfile.php'中没有获得$ name的值; – 2014-12-10 11:53:46

+0

如何全局使用变量? – 2014-12-10 11:54:09

-2

我想我已经得到了完美的解决您的问题。您可以使用PHP的implode函数。但我强烈建议你做Shakti Singh的代码。

解决方案代码

echo implode(file('http://path-to-your-site/your-dir/myfile.php?name=savagewood')); 
1
<?php 
$getVarsArray = $_GET; 
$postVarsArray = $_POST; 
/* n number of variables and lines of code*/ 
include('script-a.php'); 
?> 

现在脚本a.php只会在您有疑问,您可以使用$GLOBALS在整个访问任何变量任何情况下获得$getVarsArray$postVarsArray,如果剧本的生命周期。但使用全局变量是一种罪过。 :)

+0

'$ _GET'和'$ _POST'是* [superglobals](http://php.net/manual/en/language.variables.predefined.php)*,这意味着它们存在于每个范围内。将GPC超球体复制到另一个像这样的变量中*超越愚蠢*和边缘疯狂。不要这样做。 – Charles 2011-04-24 17:48:08

+1

@Charles,使用那些GET和POST变量而不用处理它们将会同样超出愚蠢和边缘的疯狂。我从来没有这样做。 **理智**将对待那些superglobals&将复制它们并取消POST/GET变量。或者一个偏执狂甚至可以使用GET/POST var编写他自己的实现。没有提到这个问题,而不在问题的范围内。我的错。 – Kumar 2011-04-25 04:07:53