将文件包含在存储在网站根目录上的包含文件中 - 不起作用

时间:2016-04-09 13:28:10

标签: php include

我将此文件包含在通过快速邮件发送电子邮件中 require_once'../../../../../ directory-above-root / swiftmailer / lib / swift_required.php';

我收到错误require_once():open_basedir限制生效。我猜这意味着它正在尝试访问一个目录,以便在目录中占据高位,因此无法访问。

即使此路径包含在网站中的另一个文件中,但当包含在另一个文件中时,它也无法正常工作。然后路径应该成为正常工作: require_once'../../ directory-above-root / swiftmailer / lib / swift_required.php';

麻烦的是这个文件包含在这个页面中包含的文件中,所以我需要一种以绝对方式指向目录的方法。 (我希望这是有道理的!)

root-based-root目录是网站目录上方的目录(我使用此目录,因为该文件包含我的电子邮件的登录详细信息)。

我想我需要这样的事情:

define('ROOT_DIR',dirname( FILE )); require_once ROOT_DIR。'.. / directory-above-root / swiftmailer / lib / swift_required.php';

2 个答案:

答案 0 :(得分:1)

使用$_SERVER['DOCUMENT_ROOT']

require_once($_SERVER['DOCUMENT_ROOT']."/../directory-above-root/swiftmailer/lib/swift_required.php");

答案 1 :(得分:0)

我仍然很想知道这个问题的答案,但是通过不在文件中的文件中包含文件来找到解决问题的方法。 所以问题解决了!