2014-02-24 22 views
0

PHP方法parse_ini_file是否適用於託管在雲中的INI文件?現在,我的每個應用服務器都有一個配置文件,它可以在任何時間在4-8之間。更改配置對於每臺服務器手動操作都非常痛苦。PHP parse_ini_file在URL上工作嗎?

我試過以下,但無濟於事:

$handle = fopen('https://blah.com/config.ini', 'r'); 
$ini = parse_ini_file($handle, true); 

,但我得到這個錯誤:

Warning: parse_ini_file() expects parameter 1 to be a valid path, resource given 

這甚至可能嗎?有任何想法嗎?

回答

1

fopen()不是這樣使用的。嘗試file_get_contents()

$content = file_get_contents('https://blah.com/config.ini'); 
$ini = parse_ini_string($content, true); 

這可以工作,而不是(未測試):

$ini = parse_ini_file('https://blah.com/config.ini', true); 

allow_url_fopen需要php.ini啓用這兩種情況下。

+0

這不會起作用,因爲'parse_ini_file()'需要**文件路徑**。改用'parse_ini_string()'。 –

+0

@AmalMurali:很好,會編輯。 – AbraCadaver

+0

ahh謝謝你 - 我選擇了錯誤的方法。 – Freddie

1

Fopen返回一個指向該文件的指針,parse_ini_file接受文件路徑並打開文件本身。

您應該嘗試使用file_get_contents()從文件中獲取數據,然後將該數據傳遞給parse_ini_string()函數,該函數與parse_ini_file()函數相同,但它需要ini文件中的字符串。