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

时间:2012-04-23 17:35:06

标签: php simplexml

我的网站根目录中有一个名为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警告:无法加载外部实体“list.xml”

我确保相对路径是正确的。我尝试了上面代码的其他组合,但我无法弄清楚出了什么问题。它的唯一工作方式是在每个网页中手动设置路径。但这样,维护起来会很困难。

感谢您的帮助!!

1 个答案:

答案 0 :(得分:2)

而不是尝试根据输入文件自定义脚本,您可以编写一行,无论您的脚本在Web树中的哪个位置生效,该行都将起作用:

$xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/list.xml');
相关问题