在php上打印配置文件的内容

时间:2015-03-16 10:52:32

标签: php

我如何拥有一个从配置文件中获取输入的简单php脚本。

-

配置文件的内容:

values.conf:

['abc.net | 5,20,35,50', 'def.net| 5,20']

- 

php脚本的内容:

foo.php:

require values.conf

echo abc.net
5
20
35
50

echo def.net
5
20

-

1 个答案:

答案 0 :(得分:2)

如果需要,您可以在自定义配置文件上实现某种解析,但我建议使用标准格式,例如JSON,php本身,yaml,xml(按我的个人喜好排序)

解析输入的一段PHP代码可能是:

它必须与您尝试导入的“values.conf”文件位于同一文件夹中。

<?php

$config_file = file_get_contents('values.conf');
$parsed = explode("'", $config_file);
foreach ($parsed as $key => $value) {
    if ($key % 2 === 1) { // only use 1, 3, 5...
        $var = explode("|", $value);
        $config_name = preg_replace('/\s+/', '', $var[0]);
        $config_value = explode(",", preg_replace('/\s+/', '', $var[1]));
        $config_imported[$config_name] = $config_value;
    }
}

在此阶段,您的配置文件将被解析,其内容将在PHP变量$ config_imported中,如下所示:

      var_dump($config_imported);
      //array(
      //     "abc.net" => array(5, 20, 35, 50),
      //     "def.net" => array(5, 20)
      //);

然后,您可以定义“打印”功能:

      function config_print($var) {
          foreach ($config_imported[$var] as $item) {
              echo $item . PHP_EOL;
          }
      }

      config_print("abc.net") will write what you described.