PHP 'include' 导航在子文件夹中使用时自动添加'../'



我花了几天的时间搜索解决这个问题的解决方案,过去几年中已经有很多东西,但我仍然无法抓住它。我是PHP的初学者,因此对任何帮助都表示赞赏。

我不确定是否有一个通用解决方案可以同时与Wamp Localhost和在线网站一起使用。

我的navMain.php文件是/includes文件夹。

可以说,我在根文件夹中有index.phpcontact.php(PC上的wamp/www/SITENAME/,服务器上的httpdocs/)。我还将在/media文件夹中使用books.php

我在navMain.php文件中创建了什么代码,以便当index.php读取其结果导航链接到contact.php<a href="contact.php">),但是当books.php读取它时,它是 <a href="../contact.php">或更多的东西?

>

我找到了诸如$path = $_SERVER['DOCUMENT_ROOT'];之类的解决方案,但仍然不确定是否针对我的问题,应该放入navMain.php文件中,或者当在诸如index.php之类的文件中使用'Include'inclage'命令时,它是否适当地链接到navMain.php文件。。

另外,当我尝试找到解决方案时,我不知道如何使其在Localhost和/或Web服务器上正常工作。

您应该始终使用以/开头的绝对路径。

绝对路径总是可以工作的,无论当前网址如何。

将其放在随附的文件中...

将您的路径逻辑与" $root_path ="变量一起使用 - 如果您在线测试或离线测试,它将工作

if($_SERVER['HTTP_HOST'] == 'www.mydomain.com'){ // put in here your live domain name - echo $_SERVER['HTTP_HOST'] to ensure its correct
    // this is your online server
    $root_path = "/hello";
}else{
    // this is your offline test environment
    $root_path = "local/hello/";
}

然后在您的页面...

<a href="<?php echo $root_path;?>/file.php">Link</a>

相关内容

  • 没有找到相关文章

最新更新