php - "./file"和 "file"相对路径有什么区别

标签 php unix io

我总是看到开发人员使用这两种类型的相对路径来包含外部文件。问题是,“

require "./lib/helpers.php"

require "lib/helpers.php"

据我所知,两者都指向同一个文件。但是,就复杂性而言,一个是否优于另一个?

问候

最佳答案

./lib/... 将包含请求锚定在脚本的当前工作目录中。 PHP 将在那里寻找所需的文件,而不会在其他地方寻找。如果不存在,则不执行包含并继续执行。

lib/... 允许 PHP 扫描其包含路径,例如如果你有

include_path=.:/var/lib/php:/foo/bar/baz

然后PHP会依次尝试

           ./lib/file.php
/var/lib/php/lib/file.php
/foo/bar/baz/lib/file.php
^^^^^^^^^^^^---- include path component
             ^^^^^^^^^^^^--- include() argument

如果在包含路径中找到匹配项,则扫描停止并包含该文件。如果扫描用完了要包含的候选路径,则扫描再次停止但不执行包含。

关于php - "./file"和 "file"相对路径有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20225682/

相关文章:

io - 写语句不能在派生类型的用户定义格式化 I/O 过程中生成新行

file - 如何从文件中获取随机行?

php - 如何将 UTF-8 格式的 mysql 结果回显到我的页面中

c++ - 在类 Unix 系统上获得以秒或毫秒为单位的正常运行时间

php - PHP-构建搜索引擎(查询多个数据库)

linux - 内核线程与用户线程之间的上下文切换

unix - 将docker镜像拉到不同的位置..?

Java:向文件写入/读取字符会产生不同的结果

php - MySQL 通过 PHP : not returning certain rows and I cannot figure out why

php - 在嵌套在 html 中的 php 中创建一个从 1 到 100 的表