【问题标题】:A file include a file in another directory which have links, How to set relative path for links?一个文件包含另一个目录中具有链接的文件,如何设置链接的相对路径?
【发布时间】:2016-09-22 14:43:02
【问题描述】:

我的项目目录如下。

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 文件夹中的另一个文件的链接。我的问题是当我在add_depart.phpconfig.php 中包含header.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>

【问题讨论】:

    标签: php html relative-path


    【解决方案1】:

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

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

    只需以斜杠开头的网址:&lt;a href="/path/to/profile.php" 等,无论您包含在哪里,网址都是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2013-04-14
      相关资源
      最近更新 更多