Отображение nav, если путь равен пути

У меня есть php страница с двумя navs. Один — admin nav, другой-public. используя код ниже, я пытаюсь определить каталог, в котором я нахожусь, и в зависимости от этого показать правильную навигацию. Я чувствую, что этот фрагмент 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; ?">

Я также попробовал следующее:

<?php

    $public = APP_PUBLIC_PATH;
    $admin = APP_ADMIN_PATH;

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

<nav class="<?php echo $publicnav; ?>">
<nav class="<?php echo $admin; ?>">
Метки

1 ответ

  1. is_dir проверяет только, является ли указанный путь каталогом или нет. Ваша цель состоит в том, чтобы проверить, является ли текущий путь для администратора или для обычного пользователя?

    Посмотрите в суперглобальную переменную $_SERVER о том, как получить текущий URI. Я верю во что-то подобное.

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