0

我花了几天时间寻找这个问题的解决方案,在过去的几年里已经给出了很多,但我仍然无法理解它。我是 PHP 的初学者,因此不胜感激。

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

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

假设我在根文件夹中(在 PC 和index.php服务器上)。我也将在文件夹中。contact.phpwamp/www/SITENAME/httpdocs/books.php/media

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

我找到了类似的解决方案,$path = $_SERVER['DOCUMENT_ROOT'];但仍然不确定这是否适用于像我这样的问题并且应该放在navMain.php文件中,或者navMain.phpindex.php.

此外,当我尝试找到的解决方案时,我不知道如何使它在本地主机和/或 Web 服务器上正常工作。

4

2 回答 2

1

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

无论当前网址如何,绝对路径始终有效。

于 2012-11-07T08:39:53.973 回答
0

把它放在一个包含的文件中也许......

将路径逻辑与 ' $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>
于 2012-11-07T08:47:01.823 回答