当我尝试使用require
或require_once
时,如果所需的文件位于相同的子目录中,但当它在其子目录之外看到文件时,它将正常工作,它会产生致命错误。这是基本的文件树的样子:如何在其他目录分支中需要文件?
* main.php
+ login/
* login.php
+ includes/
* session.php
...所以基本上,如果我有main.php需要登录/ login.php中,它的罚款,但如果我尝试做目录遍历login.php中要求包括/ session.php文件,它失败,从而导致错误:
PHP Fatal error: require_once(): Failed opening required [...]
这一概念的代码将是:
require('login/login.php') #works fine (main.php)
require('../includes/session.php') #quits (login.php)
我已经使用$_SERVER('DOCUMENT_ROOT')
试过,$_SERVER('SERVER_ADDR')
,dir(_FILE_)
和chdir(../)
。我记得几个月前我在解决这个问题时正在开发一个项目,这是一个遍历文件路径的简单函数,但是我再也找不到它了。有任何想法吗?
“\'”用于内联代码。对于[代码块](http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks),每行缩进一个额外的四个空格。编辑器工具栏中的“{}”按钮可以为您做到这一点。 “\ *”,“ - ”或“+”可用于列表。检查我的编辑,看看如何。单击编辑器工具栏中的橙色问号以获取更多信息和格式化提示。 – outis 2011-09-26 23:31:18
当您引用'$ _SERVER'变量时,是否使用函数表示法(括号)而不是数组索引(方括号)?如果是这样,那可能是你无法让他们工作的原因。 – outis 2011-09-26 23:35:50