当我尝试使用require
orrequire_once
时,如果需要的文件在同一个子目录中,它会正常工作,但是当它在其子目录之外看到一个文件时,它会产生一个致命错误。这基本上是文件树的样子:
* main.php
+ login/
* login.php
+ includes/
* session.php
...所以基本上,如果我要让 main.php 需要 login/login.php,那很好,但是如果我尝试对 login.php 进行目录遍历以要求 include/session.php,它会失败,导致错误:
PHP 致命错误:require_once():打开失败需要 [...]
这个概念的代码是:
require('login/login.php') #works fine (main.php)
require('../includes/session.php') #quits (login.php)
我试过使用$_SERVER('DOCUMENT_ROOT')
, $_SERVER('SERVER_ADDR')
,dir(_FILE_)
和chdir(../)
. 我记得几个月前我在一个项目上解决了这个问题,它是一个遍历文件路径的简单函数,但我再也找不到它了。有任何想法吗?