【问题标题】:A PHP include path explanation一个 PHP 包含路径的解释
【发布时间】:2013-04-23 03:38:08
【问题描述】:

所以我对 PHP 并不完全陌生,但这让我很困惑。

我对 PHP 包含路径的理解是,当您设置路径时,无论是通过 ini、htaccess 还是 set_include_path,只要包含在这些路径之一中,PHP 应该能够找到它。示例...

目录结构。

  • 文件夹A
    • fileA.php
  • 文件夹B
    • fileB.php

假设我将包含路径设置为 ... /folderA; /文件夹B

然后像这样在fileA中写一个包含

----- 文件A -----

<$php 
     include 'fileB.php'; 

PHP 应该能够找到 fileB。这个对吗?

让我换个说法。如果文件在包含路径中,则不需要相对路径?

【问题讨论】:

  • /folderA 是从 系统根 到该文件夹​​的实际绝对路径吗?换句话说,路径字面意思是“/folderA”,还是类似于/var/www/myapp/folderA
  • 不管怎样。文件夹是在根目录中还是埋在其他文件夹中是否重要?我确实理解在服务器环境下运行时的区别,您可能会或可能无法访问 Web 根目录之外的项目。
  • 你真的尝试过你的代码吗?我问是因为你问问题的方式可能会让我们认为你没有(如果我错了,对不起)。如果你找到了,它找到了吗?
  • 它不只是关于访问,/ 表示“从根目录开始”,所以如果你说“/file”,它会在根目录中查找“文件”文件,而不是在当前文件夹中。为此,您使用 ./file
  • 感谢大家的帮助。它帮助我理清了一些关于包含路径如何工作的想法。正如我现在看到的那样,包含的任何路径都好像它位于 php 的顶级目录中。

标签: php


【解决方案1】:

或者,您可以:

  1. 指定从根文件夹开始的路径(从/fileB.php):

    如果您不知道哪个文件夹是实际根目录,请使用$_SERVER['DOCUMENT_ROOT']

  2. 从当前目录指定路径(如../folderB/fileB.php

您可能还想查看文档中提到的 herehere 关于包含路径实际工作方式的内容。

【讨论】:

  • 这一切都很好。但是,首先拥有“包含路径”有什么意义呢?
  • @kazambient 对。但出于各种原因,我通常避免使用它们。无论如何,您也可以随时查看我添加到答案中的两个链接。希望他们能以您希望的方式回答您的问题。
猜你喜欢
  • 2011-02-15
  • 2012-10-16
  • 2016-08-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多