最初にインクルードファイル内で呼び出されたPHPファイルのパスを取得できますか?

StackOverflow https://stackoverflow.com/questions/139794

  •  02-07-2019
  •  | 
  •  

質問

index.php があり、それが / home / user / public / www に保存され、 index.php がファイル inc / app / Foo.class.php のクラス Foo-> bar()

Foo クラスのbar関数が、このインスタンスのパス / home / user / public / www を取得したい—グローバル変数を使用したり、変数を渡したりしたくありません。

役に立ちましたか?

解決

これにより、実行中のスクリプトのディレクトリが簡単に取得できませんか?

$dir=dirname(

これにより、実行中のスクリプトのディレクトリが簡単に取得できませんか?

<*>SERVER["SCRIPT_FILENAME"])

他のヒント

debug_backtrace を使用して、呼び出しパスを確認し、この関数を呼び出しているファイルを取得できます。

短い例:

class Foo {
  function bar() {    
   $trace = debug_backtrace();
   echo "calling file was ".$trace[0]['file']."\n";
  }
}

getcwd()は現在の作業ディレクトリを取得します

chdir()を発行することにより、サードパーティのモジュール、インクルード、または独自のコードによってさまざまな理由で変更できます。

debug_backtrace()は、デボンが示唆したとおり、あなたが探している答えです。

それを見つけました。 getcwd()。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top