我的网站根目录中有一个名为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”
我确保相对路径是正确的。我尝试了上面代码的其他组合,但我无法弄清楚出了什么问题。它的唯一工作方式是在每个网页中手动设置路径。但这样,维护起来会很困难。
感谢您的帮助!!
答案 0 :(得分:2)
而不是尝试根据输入文件自定义脚本,您可以编写一行,无论您的脚本在Web树中的哪个位置生效,该行都将起作用:
$xml = simplexml_load_file($_SERVER['DOCUMENT_ROOT'] . '/list.xml');