【发布时间】:2011-05-02 23:46:31
【问题描述】:
当我尝试使用require 或require_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(../)。我记得几个月前我在一个项目上解决了这个问题,它是一个遍历文件路径的简单函数,但我再也找不到它了。有任何想法吗?
【问题讨论】:
-
"`" 用于内联代码。对于code blocks,每行额外缩进四个空格。编辑器工具栏中的“{}”按钮会为您执行此操作。 “*”、“-”或“+”可用于列表。检查我的编辑,看看如何。单击编辑器工具栏中的橙色问号以获取有关格式设置的更多信息和提示。
-
您的意思是在引用
$_SERVER变量时使用函数表示法(括号)而不是数组索引(方括号)吗?如果是这样,那可能就是您无法让它们工作的原因。
标签: php recursion require require-once