更改文件夹有什么区别
/../
./../
../?
除非是include "/../filename.php";
,否则其中一些包括不会工作,而其他人可以使用include "../filename.php;"
正常工作。
答案 0 :(得分:3)
路径101:
每个正在运行的进程都有一个“工作目录”。这是文件操作中的任何“相对”路径将来自的地方。
./ - current directory (the "working" directory)
../ - parent directory
../.. - grandparent directory
../foo - brother/sister directory "foo"
../../foo - uncle/aunt directory "foo"
还有ABSOLUTE路径,它们始于所有目录的最终祖先 - 文件系统的根目录。在Unix-ish系统上,在Windows系统上是/
,这是一个驱动器号,例如C:\
/ - ultimate starting directory - root of file system
/foo - immediate child directory
/foo/bar - grandchild directory
/foo/bar/baz - great-grandchild directory.
结合这些:
绝对+相对:
/foo/bar/../baz
1. `/` - start at root /
2. `/foo` - descend into 'foo' (now at `/foo`)
3. `/bar` - descent into 'bar' (now at `/foo/bar`)
4. '../` - go back a level (back at `/foo`)
5 `/baz - descend into 'baz` (now at `/foo/baz`)
相对
../foo/bar/../baz
1. Start in current directory `./`
2. `../` - ascend to parent (now at `../`)
3. `foo/` - descend into sibling `foo` (now at `../foo`)
4. `bar/` - descend into niece/nephew `bar` (now at `../foo/bar`)
5. `../` - ascend back to sibling foo (now at `../foo`)
6. `baz/` - descend into niece/nephew 'bar' (now at `../foo/baz`)
基本上,以/
或c:\
开头的任何路径都是绝对路径,任何以.
开头的路径都是相对路径。 每个目录包含.
和..
,它们只是指向自身(.
)及其父(..
)的指针。父母在那里,所以你不需要知道你的祖先目录的名称,你只需要知道..
。
由于目录包含对自己的引用,./././././.
之类的内容只是说“在当前目录中”的一种非常冗余的方式。
因此../foo/./bar
与../foo/bar
没有区别,因为.
就在其中,只是意味着“留在同一个地方”。
答案 1 :(得分:1)
依旧......
答案 2 :(得分:0)
不同之处在于路径开始的位置,即与文件位于同一文件夹中或文件系统的根目录。
/../ 将从您的硬盘根
开始路径./../ 和 ../ 将从文件的当前目录开始。