我想问什么之间的差异和./ ../在PHP
include('./config.php')
和
include('../config.php')
之间的区别:第二个进入一个目录,并将其从一层文件夹包括高。但是,一个点可以做什么Exacly?
编辑;谢谢大家为你解答。它让我的思绪更加明亮。我选择了关于主题的最多信息的答案(尤其是在PHP环境中)
我想问什么之间的差异和./ ../在PHP
include('./config.php')
和
include('../config.php')
之间的区别:第二个进入一个目录,并将其从一层文件夹包括高。但是,一个点可以做什么Exacly?
编辑;谢谢大家为你解答。它让我的思绪更加明亮。我选择了关于主题的最多信息的答案(尤其是在PHP环境中)
这是一个系统的东西,而不只是一个PHP的东西。
./
表示当前目录。如果您列出* nix系统的内容,您将在顶部看到以下内容。
.
../
顶一个(.
)是一样的./
意思是 “在这个目录”。因此,如果包含这样的文件:
include('./config.php')
您正告诉PHP查看当前目录中的“config.php”。这是一样的
include('config.php')
的../
显示,上面的目录或“父目录”
include('../config.php')
这是告诉PHP去一个目录去寻找“config.php文件”。这些命令可以被捆绑,像这样:
../../config.php
这告诉系统去上一级目录,再上去,然后找人“的config.php”
嗯,现在想知道。在PHP中包含文件时,它包含与执行文件相关的文件,不包括在内。 基本上,当我有文件 测试/ index.php 和包括 测试/库/ config.php 和在这个文件我包含文件有或没有./它会在两种情况下查找测试/目录中的文件? – Grzegorz 2013-03-21 17:03:06
@ Gacek,是的。包含文件时,就好像脚本的内容位于当前文件中一样。如果你需要相关的文件,使用'dirname(__ FILE __)' – UnholyRanger 2013-03-21 17:05:30
我知道dirname(__ FILE__)。只是想知道./和没有区别。如果除了一些人写,有些不写,还有什么区别。 Mostyl我总是试图包括绝对路径,因为从CLI执行脚本的情况下,它不会喜欢文件,除非在正确的目录。 – Grzegorz 2013-03-21 17:08:22
在posix文件系统中.
仅表示当前目录,而..
表示父目录。
.
意味着当前目录
..
意味着父目录
这是不是PHP,这是OS约定称为dot directory name
“DIRA \。\ DIRB”相当于“DIRA \ DIRB”。
“DIRA \ DIRB \ .. \ DIRC”相当于“DIRA \ DIRC”。
include('../config.php') :- parent directory
include('./config.php') :- current directory
./
是当前目录
../
是将当前一个
父目录回答你的问题,假设你不写.
include('/config.php')
会在文件系统的根目录中包含'config.php'文件
的'/'是当前文件夹。 – 2013-03-21 16:55:04
因此包括('./ config.php')和include('config.php')做得完全一样吗? – Grzegorz 2013-03-21 16:57:13
理论上他们应该,是的。 – 2013-03-21 16:57:46