PHP require_once 绝对路径与相对路径(不工作)
PHP require_once Absolute Path vs Relative Path (Not Working)
好吧,我仍然很困惑这怎么可能。看下面两行代码:
Code on Connection.php in class folder:
require_once '../config/constants.php';
require_once dirname(__DIR__).'/config/constants.php';
第二个完全正常,但第一个抛出以下错误:
No such file in ...... on line... in Connection.php
这让我很不安,这两者有什么区别?在我多年的编程中,我从未遇到过这样的问题?我是否遗漏了一些要点?
If you have any documentation you would like to offer then provide. I would like to have a good
foundation of knowledge than just solving problem.
目录结构:
../
表示 parent 目录,与您当前所在的目录相比。因此,您的第一行显示 "go one directory up and look for config/constants.php in there"。你想在这里使用相对路径的是./
(注意单点),它表示你的当前目录。
这与具体的编程关系不大,更多的是文件系统问题。
你可以参考这个:
- 前导
/
(没有点,只有斜线)表示绝对路径
- 前导
./
(单点)表示当前目录
- 前导
../
(两个点)表示向上一个目录
- 无前导点或斜线与单点相同 - 相对于 当前 目录。
更新(考虑到已编辑的问题):
与编程有什么关系,特别是 PHP 是 "current" 目录通常是您最初执行的目录脚本来自。
在 CLI 环境下,这可能会有所不同,但如果您通过 Web 访问脚本,那么您可以 直接 访问的 PHP 文件所在的位置。例如。如果您将浏览器指向 example.com/test.php
,那么 'test.php' 所在的位置就是您当前所在的目录。
当然可以通过 chdir()
来改变。
好吧,我仍然很困惑这怎么可能。看下面两行代码:
Code on Connection.php in class folder:
require_once '../config/constants.php';
require_once dirname(__DIR__).'/config/constants.php';
第二个完全正常,但第一个抛出以下错误:
No such file in ...... on line... in Connection.php
这让我很不安,这两者有什么区别?在我多年的编程中,我从未遇到过这样的问题?我是否遗漏了一些要点?
If you have any documentation you would like to offer then provide. I would like to have a good foundation of knowledge than just solving problem.
目录结构:
../
表示 parent 目录,与您当前所在的目录相比。因此,您的第一行显示 "go one directory up and look for config/constants.php in there"。你想在这里使用相对路径的是./
(注意单点),它表示你的当前目录。
这与具体的编程关系不大,更多的是文件系统问题。
你可以参考这个:
- 前导
/
(没有点,只有斜线)表示绝对路径 - 前导
./
(单点)表示当前目录 - 前导
../
(两个点)表示向上一个目录 - 无前导点或斜线与单点相同 - 相对于 当前 目录。
更新(考虑到已编辑的问题):
与编程有什么关系,特别是 PHP 是 "current" 目录通常是您最初执行的目录脚本来自。
在 CLI 环境下,这可能会有所不同,但如果您通过 Web 访问脚本,那么您可以 直接 访问的 PHP 文件所在的位置。例如。如果您将浏览器指向 example.com/test.php
,那么 'test.php' 所在的位置就是您当前所在的目录。
当然可以通过 chdir()
来改变。