2011-04-24 215 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