2012-10-05 143 views
2

我正在尋找一種方法來將配置變量定義爲我網站的根路徑。定義這個最好的方法是什麼?我正在使用Codeigniter。定義根路徑

$config['root_path'] = ? 

這是我在我的config文件夾中的site_config文件。

/ 
/dev 
/dev/application 
/dev/application 
/dev/application/config 
/dev/application/config/site_config.php 
/dev/system/ 
/dev/assets/ 
/public_html 
+0

請澄清一下這種情況下的「根路徑」應該是什麼,或許有一個例子。 –

+0

爲您更新。感謝您的答覆。 – user1724167

+0

root_path變量是否需要包含public_html部分? –

回答

1

我覺得

$config['root_path'] = $_SERVER['DOCUMENT_ROOT']; 

會給你你要找的,不管哪個腳本從哪裏調用它。

另一方面,我對codeigniter的經驗大約爲零,這可能對我的建議的功效產生負面影響。

4

我通常使用__DIR__。例如,如果您的配置文件是在根目錄下,你可以使用:

$config['root_path']=__DIR__; 

或者,如果它在一個項目的子目錄(例如/anyframework/config/config.php):

$config['root_path']=dirname(dirname(__DIR__)); 
+0

我在想,只會返回腳本本身的目錄。不是嗎? – user1724167

+0

它將返回常量所用的PHP文件的目錄。因此,如果配置文件位於項目的根目錄中,這將起作用。如果配置文件位於樹的某個位置,則可以根據需要添加儘可能多的dirnames()。 –

+0

Op提到的codeigniter,如果你遵循codeigniter的工作流程,那麼返回的目錄將是根目錄最少的兩個目錄。並且會是'/ application/config /'。 OP似乎想要從根目錄獲得絕對路徑。 '/ home/name/public_html /' – chris