在php中找到一个4个目录的文件

时间:2012-10-21 16:34:53

标签: php include directory root

即使使用多个../查找文件,我找不到该文件:

root -> public -> secure -> lock  -> login / "data.php"
                            panel -> data -> list / "list.php"

我想在data.php中添加list.php,并尝试执行以下操作以包含数据:

include("../../../../lock/login/data.php");
include("../../../lock/login/data.php");
and also
include("../../lock/login/data.php");

但是,这似乎不起作用,但如果我将它放在list.php旁边并执行以下操作,它会正确读取数据:

include("data.php");

我的代码出错了什么,执行此代码的更好方法是什么?

2 个答案:

答案 0 :(得分:2)

学会使用

__FILE__; // for your current file path
dirname(__FILE__) or __DIR__; // for your current file parent folder
$_SERVER['DOCUMENT_ROOT']; // for your sites inception folder, your pivotal point

这应该让你顺利。 然后你可以

include __DIR__.'/../file-REALLY-relative-to-directory-of-edit-file.php';
include $_SERVER['DOCUMENT_ROOT'].'/absolute-path-reliable-for-your-site.php';

永远都不会包含相似的内容 (当前目录可以改变并打破你的世界)

include 'an-unreliable-NOT-REALLY-relative-file.php';

希望它有所帮助!

答案 1 :(得分:1)

使用phps include_path功能,并指定包含要包含的php脚本的目录。更轻松,更安全。