【问题标题】:Difference between ./ and ../ in PHP [duplicate]PHP中./和../之间的区别[重复]
【发布时间】:2013-03-11 07:35:29
【问题描述】:

我想问有什么区别

include('./config.php')

include('../config.php')

第二个向上一级目录,包括更高一级的文件夹。但是一个点到底有什么作用呢?

编辑;谢谢大家的回答。这让我的头脑清醒了一些。我选择了对主题最有用的答案(尤其是在 PHP 环境中)

【问题讨论】:

  • ./ 用于当前文件夹。
  • include('./config.php') 和 include('config.php') 是否完全相同?
  • 理论上他们应该,是的。
  • 我会花时间在这里解释所有 4 种访问方法之间的区别...前面没有字符,/./../
  • 肯定是重复的。

标签: php linux file path


【解决方案1】:

在 posix 文件系统中,. 仅表示当前目录,.. 表示父目录。

【讨论】:

    【解决方案2】:

    这是一个系统问题,而不仅仅是 PHP 问题。

    ./ 表示当前目录。如果您曾经列出 *nix 系统的内容,您会在顶部看到以下内容。

    .
    ../
    

    顶部的 (.) 与 ./ 相同,表示“此目录”。因此,如果包含这样的文件:

    include('./config.php')
    

    您告诉 PHP 在当前目录中查找“config.php”。是一样的

    include('config.php')
    

    ../表示上面的目录或“父目录”

    include('../config.php')
    

    这是告诉 PHP 上一个目录并查找“config.php”。这些命令可以这样链接:

    ../../config.php
    

    这告诉系统上一个目录,再上一个然后寻找“config.php”

    【讨论】:

    • 嗯,现在想知道。在 PHP 中,当您包含文件时,它包含与执行的文件相关的文件,而不是包含的文件。基本上,当我有文件 test/index.php 并包含 test/library/config.php 并且在这个文件中我包含有或没有 ./ 的文件时,它会在两种情况下都在 test/ 目录中查找文件?
    • @Gacek,是的。包含文件时,就好像脚本的内容在当前文件中一样。如果您需要相对于包含的文件,请使用dirname(__FILE__)
    • 我知道 dirname(FILE)。只是想知道 ./ 和没有之间的区别。如果有任何区别,除了有些人写,有些人不写。 Mostyl 我总是尝试包含绝对路径,因为如果从 CLI 执行脚本,除非在正确的目录中,否则它不会喜欢文件。
    • @Gacek 哦.. 读错了你的第二个问题。 ./ 更好(IMO),但不是必需的。有无还是使用相对路径
    • 我知道 ./ 用于 ./configure 并在 unix 中执行脚本,因为仅配置不起作用。所以我想知道在这种情况下是否有任何关系:)
    【解决方案3】:

    一个点表示当前目录。

    include('./config.php')
    

    基本一样

    include('config.php')
    

    【讨论】:

    • 任何区别吗?
    • 谢谢,这基本上就是我想知道的。只是提出了一个错误的问题似乎:)
    • @Nicholas Pickering 看到这个答案:stackoverflow.com/a/579398/881229
    【解决方案4】:

    . 表示当前目录

    .. 表示父目录

    这与 PHP 无关,而是称为 dot directory name 的操作系统约定

    "dirA\.\dirB" 等价于 "dirA\dirB"

    "dirA\dirB\..\dirC" 等价于 "dirA\dirC"

    【讨论】:

      【解决方案5】:
      include('../config.php') :- parent directory
      include('./config.php') :- current directory
      

      【讨论】:

        【解决方案6】:

        ./ 代表当前目录

        ../ 用于转到当前目录的父目录

        为了回答你的问题,假设你不写.

        include('/config.php') 将在文件系统的根目录中包含“config.php”文件

        【讨论】:

          猜你喜欢
          • 2011-11-23
          • 2011-05-29
          • 2015-03-08
          • 1970-01-01
          • 2011-11-05
          • 2013-05-16
          • 2012-08-22
          • 1970-01-01
          • 2014-08-16
          相关资源
          最近更新 更多