index.php
持っていて、ファイルに格納され、ファイルからクラス/home/user/public/www
をindex.php
呼び出すとしましょう。Foo->bar()
inc/app/Foo.class.php
Foo
この場合、クラスのbar関数でパスを取得し/home/user/public/www
たいのですが、グローバル変数を使用したり、変数を渡したりする必要はありません。
debug_backtraceを使用して呼び出しパスを調べ、この関数を呼び出しているファイルを取得できます。
簡単な例:
class Foo {
function bar() {
$trace = debug_backtrace();
echo "calling file was ".$trace[0]['file']."\n";
}
}
これにより、実行中のスクリプトのディレクトリをより簡単に取得できませんか?
$dir=dirname($_SERVER["SCRIPT_FILENAME"])
getcwd()
現在の作業ディレクトリを取得します
さまざまな理由で、サード パーティのモジュール、インクルード、またはchdir()
.
debug_backtrace()
デボンが示唆したように、あなたが探している答えです。
それを見つけた。getcwd()。