include.php中的代码未检测到主页上定义的变量
我遇到了一个变量的问题,这个变量没有被位于页面更深处的include考虑进去 更具体地说,以下是相关主页的外观:include.php中的代码未检测到主页上定义的变量,php,Php,我遇到了一个变量的问题,这个变量没有被位于页面更深处的include考虑进去 更具体地说,以下是相关主页的外观: <!-- Determine User's permissions on current directory --> <?php $directory = $_SESSION['cwd']; // current directory $user = $_SESSION['simple_auth']['usernam
<!-- 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。然后,如前所述,尝试将其设置为全局访问变量;这是一个变量范围问题。您正在执行上面的代码,然后在之后包含该文件。