2012-10-03 69 views
2

爲了這一天,我使用這段代碼來定位的public_html來算的文件夾回去,以導入文件:獲取主文件夾

$config_path = array_reverse(explode(DIRECTORY_SEPARATOR , getcwd())); 
$co = 0; 
foreach($config_path as $val){ 
    if($val == "public_html") 
     break; 
    $co += 1; 
} 
$config_path = ''; 

if($co != 0){ 
    for($i = 0 ; $i < $co ; $i++){ 
     $config_path .= '../'; 
    } 
} 

,然後我使用它這樣:

require_once ($config_path.'core/db-class.php'); 

這段代碼爲我服務還不錯,但我覺得它限制了我,因爲當我使用WAMP我需要的public_html文件夾,這樣

我在尋找一個PHP函數類似 - getMainRoot()

所以我可以這樣做

require_once (getMainRoot().'core/db-class.php'); 

回答

2

使用$_SERVER['DOCUMENT_ROOT'] PHP變量。

+0

請記住,該網站一定不能放在服務器文檔根目錄下。通常'__DIR__'常數更有用,因爲它允許相對於當前文件的相對於應用程序的其餘部分而言通常已知的位置進行操作。 – hakre

0

人們總是可以使用$_SERVER['DOCUMENT_ROOT'],但不起作用運行內部Web服務器或從命令行

如果您的應用程序有一個單一入口點index.php你可以做一個定義有:

define('ROOT_PATH', __DIR__); 

和使用,從那裏。

+0

我的主文件夾是''Main'',我想從''Main/Core/Config.php''運行該行,所以我無法執行它作爲'define('ROOT_PATH',__DIR__);'所以我可以做像'define('ROOT_PATH','Main');',我該怎麼做? –

+0

我這樣做:'require_once ROOT_PATH。 '/ Main/Core/Config.php'注意:您的應用程序需要一個入口點,如index.php – JvdBerg