我建议不要依靠 DOCUMENT_ROOT
正确设置。而是通过通过当前脚本的相对路径通过 __DIR__
魔术常数, ,例如
include __DIR__ . '/relative/path/from/this/script/to/includepage.php';
该路径还可以包含Parent Directory traversal通过 ../
如果需要,例如
include __DIR__ . '/../../some/dir/includepage.php';
题
我想我发现,当我有一个错误的自定义错误页面时,Incluphes并不总是有效,因为Incluplauss需要一个目录,并且具有错误的页面可能在不同的目录中。
directory1/directory2/thispagecausesa404error.php
directory1/thispagecausesa404error.php
如果我有 include includepage.php;
在我的错误页面中,它将无法正常工作。
我决心添加 include_once $_SERVER['DOCUMENT_ROOT'].'/includepage.php';
到解决问题的错误页面上,但我怀疑我做错了什么或没有看到正确的方法在错误页面上包含完美的方法。
我究竟做错了什么?
解决方案
我建议不要依靠 DOCUMENT_ROOT
正确设置。而是通过通过当前脚本的相对路径通过 __DIR__
魔术常数, ,例如
include __DIR__ . '/relative/path/from/this/script/to/includepage.php';
该路径还可以包含Parent Directory traversal通过 ../
如果需要,例如
include __DIR__ . '/../../some/dir/includepage.php';