ini文件格式和讀取

INI ”就是英文 “initialization”的頭三個字母的縮寫;當(dāng)然INI file的后綴名也不一定是".ini"也可以是".cfg",".conf ”或者是".txt"。

經(jīng)典格式如下:

INI文件的格式很簡單,最基本的三個要素是:parameters,sections和comments。

什么是parameters?

INI所包含的最基本的“元素”就是parameter;每一個parameter都有一個name和一個value,如下所示:

name = value

什么是sections ?

所有的parameters都是以sections為單位結(jié)合在一起的。所有的section名稱都是獨占一行,并且sections名字都被方括號包圍著([ and ])。在section聲明后的所有parameters都是屬于該section。對于一個section沒有明顯的結(jié)束標(biāo)志符,一個section的開始就是上一個section的結(jié)束,或者是end of the file。Sections一般情況下不能被nested,當(dāng)然特殊情況下也可以實現(xiàn)sections的嵌套。

section如下所示:

[section]

什么是comments ?

在INI文件中注釋語句是以分號“;”開始的。所有的所有的注釋語句不管多長都是獨占一行直到結(jié)束的。在分號和行結(jié)束符之間的所有內(nèi)容都是被忽略的。

注釋實例如下:

;comments text

當(dāng)然,上面講的都是最經(jīng)典的INI文件格式,隨著使用的需求INI文件的格式也出現(xiàn)了很多變種;

INI實例1:

test.ini

; 通用配置,文件后綴.ini
[common]

application.directory = APPLICATION_PATH  "/application"
application.dispatcher.catchException = TRUE


; 數(shù)據(jù)庫配置
resources.database.master.driver = "pdo_mysql"
resources.database.master.hostname = "127.0.0.1"
resources.database.master.port = 3306
resources.database.master.database = "database"
resources.database.master.username = "username"
resources.database.master.password = "password"
resources.database.master.charset = "UTF8"


; 生產(chǎn)環(huán)境配置
[product : common]

; 開發(fā)環(huán)境配置
[develop : common]

resources.database.slave.driver = "pdo_mysql"
resources.database.slave.hostname = "127.0.0.1"
resources.database.slave.port = 3306
resources.database.slave.database = "test"
resources.database.slave.username = "root"
resources.database.slave.password = "123456"
resources.database.slave.charset = "UTF8"

; 測試環(huán)境配置
[test : common]

讀取文件:

<?php

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

print_r($config);

測試打?。?/p>

$ php -f test.php
Array
(
    [application.directory] => APPLICATION_PATH/application
    [application.dispatcher.catchException] => 1
    [resources.database.master.driver] => pdo_mysql
    [resources.database.master.hostname] => 127.0.0.1
    [resources.database.master.port] => 3306
    [resources.database.master.database] => database
    [resources.database.master.username] => username
    [resources.database.master.password] => password
    [resources.database.master.charset] => UTF8
    [resources.database.slave.driver] => pdo_mysql
    [resources.database.slave.hostname] => 127.0.0.1
    [resources.database.slave.port] => 3306
    [resources.database.slave.database] => test
    [resources.database.slave.username] => root
    [resources.database.slave.password] => 123456
    [resources.database.slave.charset] => UTF8
)

INI實例2,多維數(shù)組:

env.conf

;應(yīng)用程序配置
[application]
env=develop

[dblist]
dbtype[]=test
dbtype[]=dev
dbtype[]=v1
dbtype[]=release
dbtype[]=online

讀取示例:

<?php

//第二個參數(shù)設(shè)置為true,讀取多維數(shù)組
$config=parse_ini_file('./env.conf',TRUE);

print_r($config);

測試打印:

$ php -f test.php
Array
(
    [application] => Array
        (
            [env] => develop
        )

    [dblist] => Array
        (
            [dbtype] => Array
                (
                    [0] => test
                    [1] => dev
                    [2] => v1
                    [3] => release
                    [4] => online
                )

        )

)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,555評論 19 139
  • 方法一:System.Runtime.InteropServices 首先得創(chuàng)建一個讀取ini配置文件的基類,創(chuàng)建...
    游戲開發(fā)小Y閱讀 4,381評論 0 1
  • 組織:中國互動出版網(wǎng)(http://www.china-pub.com/) RFC文檔中文翻譯計劃(http://...
    Palomar閱讀 1,642評論 0 6
  • ANNOVAR的安裝 ANNOVAR網(wǎng)址 log in之后才能download,使用教育機(jī)構(gòu)后綴的郵箱即可注冊。 ...
    面面的徐爺閱讀 23,486評論 1 26
  • 掄斧斫木 年復(fù)日 不知名來只知木 掄斧琢木 日復(fù)年 不識利來只識木 器成無人識匠人 匠人之器人人識 大匠無斧亦無器...
    行腳阿南閱讀 470評論 0 3

友情鏈接更多精彩內(nèi)容