tags:

views:

59

answers:

3

I have a .ini file with contents of...

[template]
color1 = 000000
color2 = ff6100
color3 = ff6100
color4 = 000000

And a file with contents below which is called from functions.php which passes in 2 values:

$myTheme, which is the name of the theme/template whose colors are being sought and $spot, which is the specific color number being sought (colors 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;

I'm looking for help with how to parse the ini file to fill in the bracketed data with the appropriate color from the template.ini file.

+3  A: 

You can use parse_ini_file()

jeroen
+1 for native function!
elusive
+1  A: 

Use parse_ini:

$colors = parse_ini($path_to_ini, true);

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

You don't need to compare $spot for each color - you can build the array key to get the value.

adam
+1  A: 

There's a function for that in php: http://php.net/manual/en/function.parse-ini-file.php

You could use it like this:

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

The values can be found like this:

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