检测并显示当前页面作为标记链接

时间:2013-07-09 17:33:16

标签: php function

直到今天我一直在使用以下功能

function menu_active($pagename)
{
    $active = basename($_SERVER['PHP_SELF'], ".php");
    if ($active === $pagename) echo "id='active' ";
}


And in HTML
<?php menu_active('page_name'); ?>

检测哪个页面处于活动状态以将其标记为当前页面,但是当我更改页面显示方法时,它不再起作用。所以我想知道如何更改功能以使其工作。我已尝试在下面的脚本中将$pagename声明为filename.inc.php,但没有用。

我正在使用此脚本显示页面

$pages_dir = 'pages';
if (!empty($_GET['p'])) 
{
    $pages = scandir($pages_dir, 0);
    unset($pages[0], $pages[1]);

    $p = $_GET['p'];

    if (in_array($p . '.inc.php', $pages)) 
    {
        include ($pages_dir . '/' . $p . '.inc.php');
    } 
    else 
    {
        echo 'Error';
    }
} 
else 
{
    include ($pages_dir . '/home.inc.php');
}

我感谢任何有关如何做到这一点的帮助,反馈,逻辑和想法。

1 个答案:

答案 0 :(得分:1)

检查$_SERVER['REQUEST_URI'],而不是检查哪个脚本正在运行。这将为您提供客户请求的相对URL。