2013-02-15 70 views
0

我有一個文件名爲index.php並且在該文件中,有一種稱爲$mainDir變量,我想是包括在該文件中使用該變量,變量不傳播到PHP包括文件

示例:

<?php // index.php 
    $mainDir = dirname(__FILE__); 
    if ($isTest){ // presume this is true 
     include $mainDir . 'test.php'; 
    } 
?> 
// Different File: 
<?php // test.php 
    echo $mainDir; 
?> 

我已經看過其他的解決方案,我已經把我想之前的包括語句和include語句正確調用的變量,它只是給我一個警告,我想要的變量在使用包含的文件未設置。

+0

你的例子看起來很好。但是,你是否正在使用實際版本中的函數進行包含?如果你在一個函數中使用它,那麼沒有使用全局的話,全局將不可用。 – 2013-02-15 01:34:40

回答

1

dirname(__FILE__);最後不包含「/」我相信。爲了解決這個問題,簡單地使用它作爲您的包括:

include $mainDir.'/test.php'; 
-1

也許你可以試試這個:

<?php // index.php 
    $mainDir = dirname(__FILE__); 
    if ($isTest){ // presume this is true 
     include $mainDir . 'test.php'; 
    } 
    $_GET["mainDir"] = $mainDir; 
?> 
// Different File: 
<?php // test.php 
    echo $_GET["mainDir"]; 
?> 

這是可怕的,但它應該工作。

+0

爲什麼會這樣工作?它與原始文件沒有任何區別,只是增加了一個你沒有任何理由的get變量。這個答案不正確。 – Pachonk 2013-02-15 04:21:31