include.php中的代码未检测到主页上定义的变量

include.php中的代码未检测到主页上定义的变量,php,Php,我遇到了一个变量的问题,这个变量没有被位于页面更深处的include考虑进去 更具体地说,以下是相关主页的外观: <!-- Determine User's permissions on current directory --> <?php $directory = $_SESSION['cwd']; // current directory $user = $_SESSION['simple_auth']['usernam

我遇到了一个变量的问题,这个变量没有被位于页面更深处的include考虑进去

更具体地说,以下是相关主页的外观:

<!-- Determine User's permissions on current directory -->

<?php
    $directory = $_SESSION['cwd'];                  // current directory
    $user = $_SESSION['simple_auth']['username'];   // get username
    $repository = gatorconf::get('repository');     // get base repertory of the file manager
    $userdir = $repository.DS.'user'.DS.$user;      // user's repertory
    $getprivileges = scanDirectory($userdir, $directory);

function scanDirectory($userdir = '', $directory){
    $folders = glob($userdir . '/*' , GLOB_ONLYDIR);
    foreach($folders as $folder){
        if (($folder == $directory && gator::checkPermissions('r')) || (gator::checkPermissions('ru')) || ($userdir == $directory && gator::checkPermissions('r'))) {
            return true;
        }

        $scan_result = scanDirectory($folder, $directory);

        if($scan_result) {
           return true;
        }
    }
    return false;
}

scanDirectory($userdir, $directory);

if ((gator::checkPermissions('ru')) || ($userdir == $directory && gator::checkPermissions('r'))) {
        $getprivileges = true;
    }
?>




...code




...more code




<?php include('file-to-include.php') ?>
所讨论的变量是$getprivileges,由此代码中的函数定义$getprivileges在我的页面顶部定义,并在整个页面中多次调用

在页面中间,我有一个include,其中包含需要验证$getprivileges值的函数,但不能验证。include中的代码表现为变量未定义或不存在

它只发生在这个include中的代码中,主页的其余部分很好,无论我在哪里调用$getprivileges,无论它位于include的上面还是下面,都可以正常工作

为什么包含文件中的代码没有检测到我的变量$getprivileges

我怎样才能使它正常工作

非常感谢你的帮助


-apatik

我不完全理解你的问题,但是。。。如果要在函数外部定义的函数内使用变量,则必须在函数内使用全局$variable才能访问全局$variable。有时候php是有意义的。谢谢你的回答,Fred,我会检查一下,@dan08,正如前面提到的,变量已经在页面上和函数外被使用,如果页面中的一部分代码被包含,而不是直接在page@Fred,我确实犯了这个错误[未定义变量:第11行C:\wamp\www\gg\ftp\include\views\main\u filelist.php中的getprivileges]main_filelist.php是包含在我的主页中的文件,因此它似乎无法检测到我的$getprivileges variable。然后,如前所述,尝试将其设置为全局访问变量;这是一个变量范围问题。您正在执行上面的代码,然后在之后包含该文件。