动态编辑 href 属性



我不在乎它是什么语言,但我希望这能自动完成。无论如何,我的网站上有几个链接到同一个地方的链接。例如,在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>

而且您永远不会离开索引页,在索引页中加载(包括)每个页面,无论它位于何处。

最新更新