一个文件包含另一个目录中有链接的文件,如何设置链接的相对路径?

时间:2016-09-22 14:43:03

标签: php html relative-path

我的项目目录如下。

root 
  css
  img  
  src
    login 
       login.php
    dashboard
          basic
              header.php
              footer.php
              profile.php
              manage.php 
          department
              add_depart.php
    configuration
          config.php

此处header.php包括profile.phpmanage.phpadd_depart.phpconfig.php

header.php有链接指向保存在basic文件夹中的其他文件。我的问题是当我在header.phpadd_depart.php中加入config.php时,链接无效。我知道只包括将文件复制到add_depart.php。链接无法在部门文件夹中访问。

如何为header.php内的链接设置相对路径,可以访问基本,部门和配置文件夹中标题提供的链接。

我也尝试使用getcwd()dirname(__FILE__)

请帮助。

的header.php

$path_r = $_SERVER['DOCUMENT_ROOT'];
$path_l = $path_r . '/root/src/dashboard/basic/';
 <li class="dropdown">
    <a href="#" data-target="#" class="dropdown-toggle" data-toggle="dropdown"> Settings <b class="caret"></b></a>
    <ul class="dropdown-menu">
        <li><a href="<?php echo $path_l ?>/profile.php">Profile</a></li>
        <li><a href="<?php echo $path_l ?>/config.php">Config</a></li>
        <li class="divider"></li>
        <li><a href="logout.php">Logout</a></li>
    </ul>
</li>

1 个答案:

答案 0 :(得分:1)

您将文件系统路径与URL路径混淆。

$_SERVER['DOCUMENT_ROOT']包含服务器(文件系统)上文档根目录的绝对路径,而不是URL。 getcwd()dirname()也是如此。

只需使用斜杠启动网址:<a href="/path/to/profile.php"等,无论您在何处加入网址,网址都会相同。