使用php检测页面文件名?

时间:2011-01-12 18:14:13

标签: php detect

我正在Wordpress模板上制作菜单,需要菜单来检测当前页面并突出显示它。例如,我的菜单是:

<li><a href="index.php" class="current">Home</a></li>
<li><a href="about.php">About</a></li>

因此,如果用户位于“关于”页面上,我希望该用户具有“class = current”。这怎么可能?我听说使用$_SERVER['PHP_SELF']是可能的吗?请注意,我对PHP编码没有任何了解,所以请详细说明任何回复。

3 个答案:

答案 0 :(得分:12)

我使用了一个像这样的小片段。如果您的访问者位于about.php,则$basename将等于about

$basename = substr(strtolower(basename($_SERVER['PHP_SELF'])),0,strlen(basename($_SERVER['PHP_SELF']))-4);

HTML就是这样的。

<li><a href="index.php"<?php if ($basename == 'index') echo ' class="current"'; ?>>Home</a></li>
<li><a href="about.php"<?php if ($basename == 'about') echo ' class="current"'; ?>>About</a></li>

答案 1 :(得分:1)

$myPage = $_SERVER['PHP_SELF'];
<li><a href="index.php" class="<?echo ($myPage == 'index.php'?'current':'')?>">Home</a></li>
<li><a href="about.php" class="<?echo ($myPage == 'about.php'?'current':'')?>">About</a></li>

答案 2 :(得分:0)

您可以使用以下形式的内容:

<li><a href="index.php"<?php if($_SERVER['PHP_SELF'] == 'index.php') echo ' class="current"'); ?>>Home</a></li>
<li><a href="about.php"<?php if($_SERVER['PHP_SELF'] == 'about.php') echo ' class="current"'); ?>>About</a></li>

那就是说,您可能希望将上述内容合并到一个函数中。

无论如何,我建议您在继续之前阅读PHP手册的getting started section - 这是明智的花时间。