除非我指定完整路径,否则从同一目录加载文件不起作用

Jas*_*zek 2 php wordpress wordpress-plugin

所以我在WordPress插件中有这行代码.代码文件与我正在尝试加载的XML文件位于同一文件夹中.当我删除完整路径并只留下文件名时,我得到一个I/O错误.

$dom->load("/home/tapadmin/public_html/demo10/wp-content/plugins/".
    "agentmanager/fielddefs.xml");
Run Code Online (Sandbox Code Playgroud)

加载XML文件的正确方法是什么,所以我不必指定完整路径?

Art*_*cto 7

您指定的相对路径应该相对于最初调用的PHP文件的目录,而不是您正在执行include的目录.

因此,如果页面请求/a/index.php并包含/a/b/inc.php.inc,则相对路径inc.php.inc将相对于/a/,而不是/a/b/.

请考虑使用dirname(__FILE__)而不是获取当前文件的目录.

如果扩展程序正确考虑了虚拟目录.