相对路径的计算

Computation of relative path

我很难理解相对路径的概念,我看到一部分代码写成

../../abc/file/images/picutre/down.gif

相对路径是如何计算的

它说从当前位置返回两级(父目录)“../../”。

因此,如果我们在 https://example.com/my/path/here 上并且它加载了一个文件 ../../abc/file/images/picutre/down.gif,那么我们将上升 2 个目录,因为有 2 个 ../https://example.com/my。然后我们会下降到 /abc/file/images/picutre/down.gif。所以最终目的地是https://example.com/my/abc/file/images/picutre/down.gif

  1. down.gif 存在于同一目录中
  2. / 从根目录开始
  3. ../ 从当前目录回退一个目录
  4. ../../ 从当前目录返回两个目录

how the relative path is computed

基本上,相对路径是从您所在的目录到您需要包含的文件的 "map"。因此,相对路径是根据你要去的地方计算的。

例如你有一个结构

/ (document root)
|--home.php
|--t.php
|--common
      |--header.php
      |--footer.php
|--support
      |--index1.php
|--privacy
|     |--index2.php

home.php 您需要包括 headerfooter。因此,您的家庭代码看起来像

<?php
include("common/header.php"); // go one folder down (common) and grab the file header.php
include("common/footer.php"); // go one folder down (common) and grab the file footer.php

现在假设您在 index1.php 支持中并且您需要 header.phpfooter.php。你的代码看起来像

<?php
include("../common/header.php"); // go one folder up (common) and grab the file header.php
include("../common/footer.php"); // go one folder up (common) and grab the file footer.php

将文件夹中的文件夹视为级别(级别 1、级别 2 等)

注意: 小心相对路径,它们很麻烦。

相对路径是相对于工作目录的路径。换句话说,查找文件的起点是工作目录。

相对路径中的“../”表示上一级目录

假设您在以下结构中从 index.html 页面引用相对路径 ../../abc/file/images/picutre/down.gif :

http://someexampleurl.com/dir1/dir2/index.html

你从 index.html 工作时的工作目录是 /dir2 所以考虑到你要上升两个级别,浏览器期望文件位于:

 http://someexampleurl.com/abc/file/images/picutre/down.gif