2017-05-10 50 views
0

什麼是替代解析配置文件,以提供絕對路徑在PHP中。替代parse_ini_file php

即)我讀數據庫配置文件,如:

$config  = parse_ini_file('../../../config.ini'); 

我需要給的絕對路徑上面,如:

$_SERVER['DOCUMENT_ROOT'].'/<my_path>/config.ini'; 

我需要避免使用」。 ./../」在我的路徑

如果我使用:

$ config = $ _SERVER ['DOCUMENT_ROOT']'。' /my_path/my_path/config.ini';

我得到

非法串偏移「用戶名」

+0

,是不是工作?你實際上沒有說明使用絕對路徑不起作用的東西 – Qirel

+1

這個'$ _SERVER ['DOCUMENT_ROOT']'幫助解決你的問題嗎? – Akintunde007

+2

你可以創建一個定義文件,並在那裏聲明一個全局簡寫'define('BASE_PATH','/ path/to/www/root');' – ThisGuyHasTwoThumbs

回答

1

在項目的根文件夾保持config.php那裏你可以添加這樣的數據。這是許多PHP項目,其中包括WordPress的。

例如從WordPress的

define('ABSPATH', dirname(__FILE__) . '/'); 

他們wp-config.php定義ABSPATH和它擁有的應用絕對路徑。所以你在任何你想要的地方將它們引用到你的應用程序中,

在你的情況下,這可能如下圖所示。

parse_ini_file(ABSPATH. 'config.ini'); 
+0

我實際上已將config.php保存在我的根文件夾中,覺得我需要將其保存在項目特定的文件夾中 – Sach

+0

你是否指項目特定的文件夾? – Thamaraiselvam

+0

這意味着我的主文件和配置文件位於不同的位置,但想將我的config.php保存在單獨的文件夾中雖然 – Sach

0

好吧,我用下面得到它:

$path = getcwd().'/mypath/config.ini'; 
$config = parse_ini_file($path);