在php中只加载ini文件的一部分


Load only a part of a ini file in php

我有一个加载文件的代码.ini:

class Page{
    public $lang;
    function __construct($lang){
        $this->lang = $lang;
        $this->page = basename($_SERVER['PHP_SELF'], ".php");
    }
    public function writeContent($part){
        $load_page = parse_ini_file('lang/'.$this->lang.'.content.ini', true);
        return $load_page[$this->page][$part];
    }
}

这将加载一个类似于"it.content.ini"或"en.content.ini"的文件。。。ini文件的结构如下:

[page-name-one]
title = "THE TITLE"
caption1 = "Text one"
caption2 = "Text two"
[page-name-two]
title = "THE TITLE OF THE SECOND PAGE"
caption1 = "Text one second page"
caption2 = "Text two second page"

当它加载文件并显示基于页面名称的部分(方括号之间)时,这非常有效。

是否可以只加载ini文件的一部分而不使用多个文件?

当我加载index.php时,我希望php只为ini文件的[index]部分加载ini文件,这样如果文件真的很大,我只加载它的一部分。这可能吗?

看看Zend框架的Zend_Config_Ini部分。您可以使用它轻松地加载配置文件的一部分。

$config = new Zend_Config_Ini('/path/to/config.ini', 'section_name');

请参阅parse_ini_file函数