需要解析ini文件来提取值

时间:2010-09-21 20:34:17

标签: php parsing

我有一个内容为...

的.ini文件
[template]
color1 = 000000
color2 = ff6100
color3 = ff6100
color4 = 000000

从一个传递2个值的functions.php中调用一个内容低于该文件的文件:

$ myTheme,这是正在寻找颜色的主题/模板的名称和$ spot,这是所寻求的特定颜色编号(颜色1-4)

$myTheme = $_REQUEST['theme'];
$spot = $_REQUEST['spot'];
$myColor = get_option($myTheme);

    $path_to_ini = "styles/". $myTheme . "/template.ini";

if ($myColor == "") {
     if($spot == 1){$myColor = [insert color1 value here];}
     if($spot == 2){$myColor = [insert color2 value here];}
     if($spot == 3){$myColor = [insert color3 value here];}
     if($spot == 4){$myColor = [insert color4 value here];}
}

echo $myColor;

我正在寻找有关如何解析ini文件以使用template.ini文件中的适当颜色填充括号内数据的帮助。

3 个答案:

答案 0 :(得分:4)

您可以使用parse_ini_file()

答案 1 :(得分:2)

在php中有一个函数:http://php.net/manual/en/function.parse-ini-file.php

您可以像这样使用它:

<?php $ini_array = parse_ini_file($path_to_ini); ?>

可以像这样找到值:

<?php $color1 = $ini_array['template']['color1']; ?>

答案 2 :(得分:0)

使用parse_ini

$colors = parse_ini($path_to_ini, true);

if(array_key_exists($myTheme, $colors)) {
    $myColor = $colors[$myTheme]['color' . $spot];
}

您不需要为每种颜色比较$ spot - 您可以构建数组键以获取值。