有一个文件的相对路径和绝对路径。但有些文章有时让我困惑:
/a/b/c.php //relative document root
./a/b/c.php //what does this mean? equals to '/a/b/c.php' or a/b/c.php?
a/b/c.php //relative to current directory
../a/b/c.php //parent folder relative to current directory
/../a/b/c.php //what does this mean? parent folder of document root?
还有其他方法可以写这个吗?
谢谢。
答案 0 :(得分:4)
以下是您的一些基本目录符号:
.
(点)是您当前的目录..
(双点)是您当前目录的父级~
(代字号)是您的主目录。/
(斜杠)如果它出现在第一个字符,通常称为根目录。这些都来自linux / unix术语( CMIIW 这里)。
现在,我们来看一下实现:
/home/username/
./wwwroot/somedir/
=> /home/username/wwwroot/somedir/
../wwwroot/somedir/
=> /home/wwwroot/somedir/
/../wwwroot/somedir/
=> /wwwroot/somedir
您可能会对示例#3感到困惑。如果将/
放在路径信息前面,则表示您位于根目录中。因此,如果你写/../somedir/
意思是,你指的是/ somedir /。为什么?因为根目录没有父目录。
答案 1 :(得分:1)
。 =当前目录。因此./a/b/c.php
等同于a/b/c.php
。
/../a/b/c.php
表示转到根目录,然后转到根目录,然后转到目录a
,然后转到目录b
,再转到c.php
。