我希望有人知道答案。我写了一个使用
的脚本 basename( __DIR__ )
然后使用if文件存在函数。
在我的服务器上,这可以正常工作,但是在其他服务器上它实际上返回单词_DIR_
而不是文件路径。
这是用PHP版本更改的还是有其他一些设置使得它不起作用?
最后是否有更好的方法来获取文件的路径?以下是我正在使用的整行:
define('NIFTY_CONSTANT', trailingslashit (WP_PLUGIN_DIR . '/'. basename( __DIR__ ) ). '/lib/mdetect.php' );
(是的,我知道这是一个WordPress功能,但这不是一个WordPress问题,它是一个PHP)
答案 0 :(得分:8)
__DIR__
。仔细检查您的PHP版本。
参考:http://php.net/manual/en/language.constants.predefined.php
答案 1 :(得分:4)
如果__DIR__
常量在服务器A
上不起作用,而在服务器B
上工作,那么PHP版本就是一个问题(如@Shivan所述)。
您只需在两台服务器上调用phpinfo()
即可对其进行测试。
以下是您的快速解决方法:
// this should be at the top
if (!defined('__DIR__')) {
define('__DIR__', dirname(__FILE__));
}