即使使用多个../
查找文件,我找不到该文件:
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");
我的代码出错了什么,执行此代码的更好方法是什么?
答案 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脚本的目录。更轻松,更安全。