PHP如何要求文件逻辑工作?

时间:2012-11-27 18:52:04

标签: php include-path

文件树;

  • boot.php
  • 面板/ index.php的
  • 面板/ INC / start.php
  • 面板/ INC / functions.php的

过程:

  • 的index.php;需要'inc / start.php'
  • start.php;需要'../boot.php'和'functions.php'
  • (require_once'x.php'used)

当index.php调用时,一切正常。为什么我不必使用../../boot.php而不是../boot.php? 如果相对文件夹是/ panel,则要求'functions.php'应该失败。如果是/ panel / inc,则'../boot.php'应该失败。但是eveything工作。怎么样?

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

2 个答案:

答案 0 :(得分:2)

至于PHP手册:

http://php.net/manual/en/function.require-once.php

http://www.php.net/manual/en/function.include.php

  

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

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

答案 1 :(得分:0)

处理时,index.php文件将包含inc / start.php。所以你的index.php看起来像

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

所以boot.php将包含在内,包括index.php本身