所以我在WordPress插件中有这行代码。代码文件与我正在尝试加载的XML文件位于同一文件夹中。当我删除完整路径并只留下文件名时,我得到一个I / O错误。
$dom->load("/home/tapadmin/public_html/demo10/wp-content/plugins/".
"agentmanager/fielddefs.xml");
加载XML文件的正确方法是什么,所以我不必指定完整路径?
答案 0 :(得分:7)
您指定的相对路径应该相对于最初调用的PHP文件的目录,而不是您正在进行包含的目录。
因此,如果网页请求/a/index.php
且包含/a/b/inc.php.inc
,则inc.php.inc
中的相对路径将相对于/a/
,而不是/a/b/
†
考虑使用dirname(__FILE__)
来获取当前文件的目录。
†如果扩展程序正确地尊重虚拟目录。