【发布时间】:2017-12-21 19:18:36
【问题描述】:
有什么区别:
/../../../my_dir/my_file.php
还有../../../my_dir/my_file.php
我正在使用 PHP 包含(不能定期包含,我怀疑这是因为我在包含的文件中使用了命名空间),后者不起作用,我在之前随机添加了 /文件路径,现在一切正常。我非常困惑,因为在阅读了该正斜杠的功能后,我的代码似乎不应该工作,因为/ 指的是根目录,因此/../../../ 是根目录的三层?这到底是什么意思?我真的不知道为什么我的代码可以正常工作并且包含该文件。
那么,如果/ 是根目录,并且我要在根目录上向上三层,那么为什么一切正常?它不应该抛出一些错误吗?
另外,根目录可以改变吗?据我了解,在 Windows 中,我现在的根目录是 C: 驱动器,您可以将您的根目录从 C: 更改为项目中的目录吗?
如果您有兴趣查看所有这一切发生的文件,这里有一个要点:https://gist.github.com/doubleOrt/09a2b0b97f632143f89e07f21bb974ad
【问题讨论】:
-
前导斜线表示转到根文件夹。如果没有它,则应用您所在位置的路径说明
-
是的,但请参阅我的问题的描述。这是我没有得到的部分,如果我要转到根文件夹(在 Windows 中,我的
C:驱动器,对吗?),然后我要上升几级,那为什么我的代码可以工作?当我转到根文件夹的父级时,我会在哪里结束?根文件夹的父级是什么? -
相对路径和绝对路径。
-
当然不能从根目录上去。
-
我很确定,这样的错误会被忽略
标签: php path namespaces filepath