Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如果路径等于路径,则显示导航_Php - Fatal编程技术网

Php 如果路径等于路径,则显示导航

Php 如果路径等于路径,则显示导航,php,Php,我有一个带有两个导航的php页面。一个是管理导航,另一个是公共导航。使用下面的代码,我试图确定我所在的目录,并根据该目录显示正确的导航。我觉得这个php代码片段应该可以工作 <?php $public = APP_PUBLIC_PATH; $admin = APP_ADMIN_PATH; if(is_dir($public)) { $publicnav = "showme"; $adminnav = "hideme"; }

我有一个带有两个导航的php页面。一个是管理导航,另一个是公共导航。使用下面的代码,我试图确定我所在的目录,并根据该目录显示正确的导航。我觉得这个php代码片段应该可以工作

<?php

    $public = APP_PUBLIC_PATH;
    $admin = APP_ADMIN_PATH;

    if(is_dir($public)) {
        $publicnav = "showme";
        $adminnav = "hideme";
    }
    else if (is_dir($admin)) {
        $publicnav = "hideme";
        $adminnav = "showme";
    }
?>

<nav class="<?php echo $publicnav; ?">
<nav class="<?php echo $admin; ?">


is_dir仅检查您提供的路径是否为目录。您的目标是检查当前路径是针对管理员还是针对普通用户

查看$\u服务器超全局变量,了解如何获取当前URI。我相信这样的事情

$currentPath = $_SERVER['REQUEST_URI'];
if ($currentPath == $public) {
    // do logic
} else if ($currentPath == $admin) {
    // other logic
}

我觉得这个php代码片段应该可以工作。太好了,有什么问题吗?你没有告诉我们出了什么问题。通过“directory i'm”,你指的是你定义的常量在磁盘上的路径吗?因为这是_dir检查的问题是它不工作,就像@csminb说的,这可能是因为我使用了错误的函数。我会解释我想做什么。我试图确定用户所在的子目录,并根据该目录显示导航,这两个目录是public或admin。我尝试使用我的'APP_PUBLIC_PATH'和'APP_ADMIN_PATH',它们已经在我的配置中定义了这些值。
$currentPath = $_SERVER['REQUEST_URI'];
if ($currentPath == $public) {
    // do logic
} else if ($currentPath == $admin) {
    // other logic
}