未传播到PHP的变量包括文件


Variables not propagating to PHP include file

我有一个名为index.php的文件,在这个文件中有一个称为$mainDir的变量,我希望这个变量在包含的文件中使用,

示例:

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

我已经查看了其他解决方案,并将我想要的变量放在include语句之前,并且include语句被正确调用,这只是给了我一个警告,即我要在包含的文件中使用的变量没有设置。

dirname(__FILE__);最后不包含"/"。要修复此问题,只需将其用作您的包含:

 include $mainDir.'/test.php';

也许你可以试试这个:

<?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"];
?>

这很可怕,但应该有效。