2012-10-15 58 views
0

首先我想道歉,如果這個問題已經得到解答,我正在尋找兩天沒有運氣。如何找到另一個php文件中包含的php文件的相對路徑?

這裏是我的設置:

我有2個PHP文件,在2個不同的文件夾:

AAA/1.PHP AAA/BBB/CCC/2.PHP

「2。 php「包含在」1.php「中。

由於我需要在幾個不同的文件夾中使用「2.php」,我需要它能夠知道他在哪個文件夾中進行了本地化。因此,在「2.PHP」我應該有這樣一些代碼:

$directory = [whatever code I need to know where I am]; 

所以在上面的例子中,相對路徑應該是:BBB/CCC

我試着用多種功能和編碼,我發現,但我只能得到完整的服務器路徑「1.php」。

任何人都可以幫助我嗎?

+0

我想你應該看看http://stackoverflow.com/questions/12886788/how-to-store-the-root-of-my-subsite/ 12886827#12886827 – Baba

回答

2

我相信你正在尋找的是dirname(__FILE__);

更多信息,請參見PHP: Magic Constantsdirname()

__FILE__該文件的完整路徑和文件名。如果在include中使用,則返回包含文件的名稱。由於PHP 4.0.2, FILE始終包含解析符號鏈接的絕對路徑,而在較早的版本中它包含一些 環境下的相對路徑。

+0

這就是我正在尋找...非常感謝您的幫助。 –

0

你可以使用文檔根作爲你的路徑的開始,所以你永遠不必擔心它。

例如

$_SERVER['DOCUMENT_ROOT'].'/AAA/1.php' 

$_SERVER['DOCUMENT_ROOT'].'/AAA/BBB/CCC/2.php' 

應從無論你在哪裏,只要你的php.ini配置不會改變太多的工作。

或者你可以使用的basename()組合,dirname()

相關問題