2012-02-05 53 views
21

我用這一個層面:從當前腳本獲取文件夾起來

C:\UwAmp\www\myfolder\ 

echo dirname(__FILE__); 

這給:

C:\UwAmp\www\myfolder\admin 

但是我正在尋找路徑,直到。如何做到這一點?

回答

57

你可以做兩種:

dirname(__DIR__); 

或者:

__DIR__ . '/..'; 

...但在Web服務器環境中,你可能會發現你已經從當前文件的工作目錄工作,所以你可以使用:

'../' 

...來引用上面的目錄。您可以在PHP 5.3.0之前將__DIR__替換爲dirname(__FILE__)

你也應該知道what __DIR__ and __FILE__ refers to

的完整路徑和文件名的。 如果在包含中使用,則返回包含文件的名稱。

因此,它可能並不總是指向你想要的地方。

+0

兩者都不工作:(我得到了空字符串 – Dev555 2012-02-05 13:10:15

+0

你真的想用這個路徑做什麼?你想要包含一個文件,在鏈接中使用它嗎? – DaveRandom 2012-02-05 13:13:44

+0

現在好了,我的壞。謝謝 – Dev555 2012-02-05 13:13:55

11

您可以嘗試

echo realpath(__DIR__ . DIRECTORY_SEPARATOR . '..'); 
+0

我得到了空字符串 – Dev555 2012-02-05 13:12:12

+0

這不應該給你一個空字符串...你使用PHP 5.3嗎? – 2012-02-05 13:18:59

+0

php 5.2是我正在使用+1來幫助你。 – Dev555 2012-02-05 13:21:32

8
echo dirname(__DIR__); 

但需要注意的__DIR__不斷在PHP 5.3.0中加入。