2017-12-19 4 views
-1

ファイル/dir/dir_a/a.phpには、別のディレクトリにあるファイル/dir/dir_b/b.phpが含まれています。PHPスクリプトを含むファイルのディレクトリを取得

dirname(__FILE__)またはgetcwd()の親ディレクトリをb.phpの中に入れようとすると、結果は常にdir_bとなり、驚きはありません。

dir_aの名前をb.phpのコードで取得する方法はありますか?

+0

絶対パスを使用する – Andreas

+0

バックトレースhttp://php.net/manual/en/function.debug-backtrace.phpを参照してください。呼び出しスタックとともに配列を返します。それを扱うオーバーヘッドが高いかもしれません。あるいは、パラメータの設定/渡しを行い、どこから来たのかを知ることもできます。 –

+0

['getcwd()'](http://php.net/manual/en/function.getcwd.php)は役に立ちません。インタプリタの現在のディレクトリを返します。それに関する要件や制限はありません。ディスク上の任意のディレクトリを返すことができます。 – axiac

答えて

0

ファイルとディレクトリのmagic constantsは、常に彼らがしているスクリプトを参照するように、それは、完全に正常だ

あなたが望むもののために、あなただけ使用する必要があります。

// in b.php /dir/dir_a is 
$dir_a_path = __DIR__ . '/../dir_a'; 
// in a.php, you can 
include(__DIR__ . '/../dir_b/b.php'); 

/はどこでも動作します(ウィンドウも)完全なパスを使用しているからです。 DIRは、それを使用しているスクリプトのディレクトリフルパスのマジック定数です。

関連する問題