5

ここの誰かがこれに対する答えを知っていることを願っています。を使用するスクリプトを作成しました。

basename( __DIR__ )

次に、ファイルが存在する場合の関数を使用します。

私のサーバーではこれで問題なく動作しますが、他のサーバーでは実際に_DIR_はファイル パスではなく単語が返されます。

これは PHP のバージョンで変更されましたか、それとも動作しないようにする他の設定がありますか?

最後に、ファイルのパスを取得するより良い方法はありますか? ここに私が使用している行全体があります:

define('NIFTY_CONSTANT', trailingslashit (WP_PLUGIN_DIR . '/'. basename( __DIR__ ) ). '/lib/mdetect.php' );

(はい、WordPress の関数であることは知っていますが、これは WordPress の質問ではなく、PHP の質問です)

4

2 に答える 2

8

__DIR__PHP 5.3 で導入されました。PHP のバージョンを再確認してください。

参照: http://php.net/manual/en/language.constants.predefined.php

于 2013-08-14T06:20:42.987 に答える
4

__DIR__定数が server で機能しないのにAserverで機能する場合B、PHP バージョンが問題になります (@Shivan で言及)。

phpinfo()両方のサーバーで呼び出して、簡単にテストできます。

簡単な回避策は次のとおりです。

// this should be at the top
if (!defined('__DIR__')) {
   define('__DIR__', dirname(__FILE__));
}
于 2013-08-14T06:28:27.010 に答える