我不在乎它是什么语言,但我希望这能自动完成。无论如何,我的网站上有几个链接到同一个地方的链接。例如,在index.php上,我有一个链接href="index.php"的主页按钮但是,当我现在处于下载/下载.php时,我需要手动将位置调整为 href="。/索引.php"
有没有办法动态地做到这一点?考虑到我正在对整个顶部导航栏使用包含功能,它真的搞砸了,而且我无法真正使其动态化。我实现这一目标的理想语言是:PHP> JavaScript = jQuery> AJAX
http://www.dioxidetech.com/
任何更有效率的东西!谢谢!
使用相对网址:而不是链接到../index.php, 链接到:/其他链接也可以是相对的,例如:/downloads/download.php
顺便说一句。如果使用下载子目录,为什么不有一个索引.php那里也有?您不需要链接到索引文件,只需链接到包含文件夹即可。
不要使用本地目录,请使用 URL。因此,您可以将http://example.com/index.php
作为所有这些属性的href
属性。
您还可以使用超级全局$_SERVER
来检索基本 URL。
function getHomeURL() {
return $_SERVER[ "HTTP_ORIGIN" ];
}
这样,当您需要放置 href 属性时,您可以调用该函数。
<a href="<?php echo getHomeURL(); ?>">Home</a>
我希望这有所帮助。
更多关于 PHP 超级全局变量的信息
更多关于 PHP _SERVER 超级全球
另一种解决此问题的方法,但可能不是将所有内容整齐地保存在一个地方的最直接方法是通过 switch()
你创建一个单一的索引.php文件,如下所示:
<?php
include 'navbar.php';
$pagelink = $_GET['link'];
switch($pagelink)
{
case 'home';
$link = "home.php";
break;
case 'download';
$link = "download/downloads.php";
break;
case 'about';
$link = "about/about.php";
break;
case 'contact';
$link = "contact/contact_us.php";
break;
case 'this';
$link = "something/else/in/a/different/folder/this.php";
break;
}
include $link;
include 'footer.php';
?>
然后你所要做的就是制定你所有的链接,如下所示:
<a href="index.php?link=download" title="Downloads" target="_self">Downloads</a>
而且您永远不会离开索引页,在索引页中加载(包括)每个页面,无论它位于何处。