Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP需要文件逻辑是如何工作的?_Php_Include Path - Fatal编程技术网

PHP需要文件逻辑是如何工作的?

PHP需要文件逻辑是如何工作的?,php,include-path,Php,Include Path,文件树 boot.php panel/index.php panel/inc/start.php panel/inc/functions.php 过程: index.php;需要“inc/start.php” start.php;需要“../boot.php”和“functions.php” (使用“x.php”后需要_) 调用index.php时,一切正常。为什么我不必使用.././boot.php而不是../boot.php? 如果相对文件夹为/panel,则require'func

文件树

  • boot.php
  • panel/index.php
  • panel/inc/start.php
  • panel/inc/functions.php
过程:

  • index.php;需要“inc/start.php”
  • start.php;需要“../boot.php”和“functions.php”
  • (使用“x.php”后需要_)
调用index.php时,一切正常。为什么我不必使用.././boot.php而不是../boot.php? 如果相对文件夹为/panel,则require'functions.php'应该失败。如果是/panel/inc,则要求“../boot.php”应该失败。但一切都有效。怎么做

注意:我知道我应该使用绝对文件夹来包含文件。我只是想了解这个示例是如何工作的。

至于PHP手册:

如果定义了路径-是否为绝对路径(以驱动器号开头 或\在Windows上,或/在Unix/Linux系统上)或相对于 当前目录(以.或..开头)


当PHP包含/需要文件时,它会查找相对于当前文件位置的路径。

处理index.PHP文件时,将包含inc/start.PHP。因此,您的index.php如下所示

<?php 
 //inc/start.php file content here
 //require '../boot.php';

因为您需要index.php.Related:中的所有内容,所以请先阅读文档。我认为绝对路径不是一个好主意,因为您需要在将项目从开发环境转移到生产环境(例如webhosting)时更改它。这就是
\uuuu DIR\uuuuu
宏的作用。我本来也要链接到手册,但你比我先找到它。=)实际上,该部分说“在失败之前,最后签入调用脚本自己的目录和当前工作目录”回答了我的问题。因为我认为只需要一个目录就可以作为相对目录进行检查。谢谢