【问题标题】:Can I read and write key/values from ini files in PHP just like we do with .properties files in Java?我可以像在 Java 中使用 .properties 文件那样在 PHP 中读取和写入 ini 文件的键/值吗?
【发布时间】:2013-03-25 14:55:59
【问题描述】:
    Properties prop = new Properties();
    prop.load(new FileInputStream("my.properties"));
    prop.setProperty("name", "my name");
    prop.getProperty("name");

在 Java 中设置和获取属性看起来很简单。我在 PHP 中搜索了相同的东西,但没有找到与此相关的任何有用的东西。

我在某处读过

PHP 可以使用 parse_ini_file() 本地加载和解析 .ini 文件。

由于我刚开始学习 PHP,我找不到任何可以像在 Java 中使用 .properties 文件那样简单地从 .ini 文件中读取写入键/值对的代码。我该怎么做?

【问题讨论】:

    标签: php ini


    【解决方案1】:

    试试这个...

    php 中的ini 文件包含你的配置.....

    示例文件 ini 看起来像。

        [first_section]
        db = testdb
        host = myhost
    
    
        [second_section]
        path = "/usr/local/bin"
        URL = "http://www.example.com/~username"
    

    现在你可以通过

    获取这个文件的内容了
          <?php
          $config_array  = parse_ini_file('sample.ini');
          echo "<pre>";
          print_r($config_array);
          echo "</pre>";
          ?>
    

    输出将类似于

    Array
     (
    [db] => testdb
    [host] => myhost
    [path] => /usr/local/bin
    [URL] => http://www.example.com/~username
    )
    

    您还可以通过在 parse_ini_file 中将第二个参数传递为 'TRUE' 来获取节名称

    $config_array  = parse_ini_file('sample.ini',true);
    

    然后输出将是

      Array
     (
       [first_section] => Array
        (
            [db] => testdb
            [host] => myhost
        )
    
       [second_section] => Array
          (
            [path] => /usr/local/bin
            [URL] => http://www.example.com/~username
        )
    
    )
    

    您还可以按照 kingkero 的建议将配置保存在数组中以供后期使用...

    在此处阅读更多信息http://www.php.net/manual/en/function.parse-ini-file.php#78221

    【讨论】:

      【解决方案2】:

      在 PHP 中,我认为使用返回带有配置的数组的文件更为常见(参见 php.net/include

      config.php

      <?php
      return array(
          'key1' => 'val1',
          //etc.
      );
      

      其他文件:

      <?php
      $config = include 'config.php';
      

      【讨论】:

        猜你喜欢
        • 2013-06-01
        • 1970-01-01
        • 2011-08-07
        • 2015-09-17
        • 2023-03-18
        • 2014-09-17
        • 2010-11-19
        • 2015-02-19
        相关资源
        最近更新 更多