PHP require_once绝对路径与相对路径(不起作用)

曾是

好吧,我仍然很困惑如何做到这一点。查看以下两行代码:

文件夹中Connection.php上的代码

require_once '../config/constants.php';

require_once dirname(__DIR__).'/config/constants.php';

第二个完全正常,但第一个引发以下错误:

No such file in ...... on line... in Connection.php

这让我感到不安,两者之间有什么区别?在我多年的编程中,我从未遇到过这样的问题吗?我是否缺少一些要点?

如果您有任何要提供的文档,请提供。我希望有一个良好的知识基础,而不仅仅是解决问题。

目录结构:

在此处输入图片说明

纳尔夫

../ denotes the parent directory, compared to the one you're currently in. Therefore, your first line says "go one directory up and look for config/constants.php in there". What you'd want to use with a relative path here is ./ (note the single dot), which denotes your current directory.

This has little to do with programming in specific, it's more of a file-system thing.

You can use this as a reference:

  • leading / (no dots, just a slash) means an absolute path
  • leading ./ (single dot) means the current directory
  • leading ../ (two dots) means one directory up
  • no leading dots or slashes is the same thing as with the single dot - relative to the current directory.

更新(以解决已编辑的问题):

什么都有事可做,在特定的编程和PHP是什么被认为是“当前”目录通常是您最初从执行脚本的一个。在CLI环境下,情况可能会有所不同,但是如果您是通过Web访问脚本的,而Web是您直接访问的PHP文件的位置例如,如果您将浏览器指向example.com/test.php,则“ test.php”所在的位置就是您当前所在的目录。

chdir()当然可以改变

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章