我的网站根目录中有一个名为list.xml
的XML文件。我想通过simplexml_load_file()
在我网站的每个页面上加载它。
我在模板文件中尝试了以下代码:
if ($level == 1) {
$xml = simplexml_load_file('list.xml');
} else {
$xml = simplexml_load_file('../list.xml');
}
变量 $level = 1 在根级别的页面上设置。在其余页面(均为一级深度)上,未设置$level和相对路径"../list.xml' 应该用于这些页面。
当我访问根级页面时,网站加载正确,但页面一级深度返回错误:
PHP 警告:simplexml_load_file(): I/O 警告: 无法加载外部实体"列表.xml"
我已经确保相对路径是正确的。我尝试了上述代码的其他组合,但无法弄清楚出了什么问题。它工作的唯一方法是在每个网页中手动设置路径。但这样,就很难维护。
感谢您的帮助!!
与其
尝试根据输入文件自定义脚本,不如编写一行,无论您的脚本恰好位于 Web 树中的哪个位置,该行都可以工作:
$xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/list.xml');