具有 IF 语句路径错误的简单 XML 加载文件


Simple XML Load File with IF statement path error

我的网站根目录中有一个名为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');