我有一个简单的网页与一个简单的菜单。
网页的每一页(例如index.php、page-01.php等)都使用include函数拉入菜单:
<?php
include 'menu.php';
?>
我想格式化当前页面的菜单项,所以我尝试让菜单检查当前页面的名称。例如,当我在index.php上时,我希望menu.php中的函数返回“index”。
我试着在menu.php中使用这个:
echo basename(__FILE__, '.php');
但它返回“menu”(回想起来,这很有意义)。
我可以在menu.php文件中使用什么来返回当前页面名称?
谢谢你!
2条答案
按热度按时间agyaoht71#
您可以在包含的文件中定义函数,并使用当前文件名调用该函数:
首页----期刊主要分类----期刊细介绍----期刊题录与文摘----期刊详细文摘内容
menu.php:
mdfafbf12#
您可以使用
$_SERVER['REQUEST_URI']
来获取用户输入的URL的路径和查询片段(/blog/technology/latest?limit=10
),$_SERVER['SCRIPT_NAME']
以获取相对于文档根目录的脚本文件路径(/blog/show-category.php
)和$_SERVER['SCRIPT_FILENAME']
以获取服务器磁盘上的完整路径(/var/www/public/blog/show-category.php
)。我认为所有这些都是所有服务器API的标准,但检查您的服务器不会有什么坏处(运行phpinfo()
快速了解一下)。没有通用的解决方案来MapURL到菜单项,因为你可以编写任何你想要的结构。在最坏的情况下,你必须在某个地方存储一个Map,也许是一个数组,你也可以用来构建菜单:
如果您的项目遵循一个遗留结构,其中各个脚本只是在URL中引用,那么它应该是简单的。