我知道这样做很愚蠢,但我遇到过在不同文件夹中创建菜单的情况。我试图为菜单创建 baseurl。
function getBaseUrl()
{
$currentPath = $_SERVER['PHP_SELF'];
$pathInfo = pathinfo($currentPath);
$hostName = $_SERVER['HTTP_HOST'];
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://'?'https://':'http://';
return $protocol.$hostName.$pathInfo['dirname']."/";
}
使用像 <?php echo getBaseUrl(); ?>
这样的基本 url .我的问题是:
让我有菜单aaa bbb ccc ddd。和页面 aaa
菜单在里面 folder1/page1.php
页bbb
菜单在里面 folder2/page2.php
.我不能从 aaa
菜单到 bbb
菜单。
有人有想法吗?请建议
最佳答案
您可以使用标签索引的页面列表创建一个数组:
function getBaseUrl($naviItem)
{
var $navigation = array(
'aaa_menu' => '/folder1/page1.php',
'bbb_menu' => '/folder2/page2.php'
);
//$currentPath = $_SERVER['PHP_SELF'];
//$pathInfo = pathinfo($currentPath);
$hostName = $_SERVER['HTTP_HOST'];
$protocol = strtolower(substr($_SERVER["SERVER_PROTOCOL"],0,5))=='https://'?'https://':'http://';
// return the path relative to the passed navitem
return $protocol.$hostName.$navigation[$naviItem];
}
然后在您的 HTML 中,您将这个标签传递给您想要实现 baseURL 的导航项:
<a href="<?php echo getBaseUrl('aaa_menu'); ?>">aaa</a>
<a href="<?php echo getBaseUrl('bbb_menu'); ?>">bbb</a>
关于php - 如果菜单位于不同的文件夹中,如何创建网站的 BASE URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36004291/