【问题标题】:Load only a part of a ini file in php在php中仅加载ini文件的一部分
【发布时间】:2013-06-26 20:16:06
【问题描述】:

我有这个加载文件 .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 文件,这样如果文件实际上很大,我只加载它的一部分。有可能吗?

【问题讨论】:

  • 是的,如果您编写自己的 ini 解析器。
  • 好的...你能给我一些关于它的数据吗?如何?我在哪里可以找到它的文档?例子?
  • 我不会担心页面大小,只需使用整个文件即可。加载很多可能不会在每个页面上使用的论文是很常见的。
  • 将语言保存在单独的文件中......这就是我一直看到它完成的方式
  • 是的 user20232359723568423357842364 我已经这样做了,但是每种语言(文件)中都有很多文本

标签: php class load ini


【解决方案1】:

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

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

【讨论】:

  • 是的,你可以使用这个类没问题,你不需要使用整个堆栈
【解决方案2】:

请看parse_ini_file函数

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-12-27
  • 2016-01-24
  • 2011-02-02
  • 2016-03-24
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
  • 2014-03-22
相关资源
最近更新 更多