为什么带或不带ABSPATH的FILE_EXISTS返回TRUE? 时间:2018-12-03 作者:Nabeel Khan 我一直很困惑,因为结果在这两种情况下都是真的,无论是否使用ABSPATH常量:if (file_exists(ABSPATH . \'wp-config.php\')){ echo "true"; } 或if (file_exists(\'wp-config.php\')){ echo "true"; } 请注意,运行此代码的文件不在根目录中(它位于wp-content/plugins 目录)。请解释一下。还有,我更喜欢使用哪一种。 1 个回复 SO网友:Krzysiek Dróżdż AFAIR,如果您使用file_exists 对于相对路径,您必须非常小心,因为路径是相对于请求调用的脚本的,而不是相对于包含该检查的文件的。。。因此,如果它是一个插件,并且请求转到主WP索引。php,然后您将在WP root中查找一个文件。但是,如果AJAX调用(wp admin/admin AJAX.php)将运行相同的代码,它将在wp admin目录中搜索该文件。这就是为什么你应该使用ABSPATH 或使用__DIR__ (使路径相对于检查文件存在的文件)。 文章导航