Ben aslında bir dahil edilen dosyada denilen php dosyasının yolunu alabilir miyim?

4 Cevap php

Kullanıcının biz index.php var ve bu class Foo-> dosyanın 'inc / app / Foo.class.php' den bar () çağırır '/ home / user / public / www' ve index.php saklanır diyelim. Ben yolu bu durumda '/ home / user / public / www' bir tutmak için Foo sınıfının çubuğu işlevi istiyorum - ve ben bir değişken vb geçmek, global bir değişken kullanmak istemiyorum

4 Cevap

Bu daha kolayca çalışan script dizin olsun istemez misiniz?

$dir=dirname($_SERVER["SCRIPT_FILENAME"])

Sen debug_backtrace arama yoluna bakmak ve bu işlevini çağırarak dosyayı almak için kullanabilirsiniz.

Kısa bir örnek:

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

getcwd () geçerli çalışma dizinini alır

Bu, 3. parti modülleri tarafından çeşitli nedenlerle için değişti içeren veya bir chdir yayımlayarak, hatta kendi kodu () olabilir.

Devon önerilen debug_backtrace () aradığınız cevaptır.

Buldum. getcwd ().