Нужно проанализировать INI-файл для извлечения значений - PullRequest
1 голос
/ 22 сентября 2010

У меня есть файл .ini с содержимым ...

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

И файл с содержимым ниже, который вызывается из functions.php, который передает 2 значения:

$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 ]

4 голосов
/ 22 сентября 2010

Вы можете использовать parse_ini_file()

2 голосов
/ 22 сентября 2010

Для этого есть функция в 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']; ?>
0 голосов
/ 22 сентября 2010

Использование parse_ini:

$colors = parse_ini($path_to_ini, true);

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

Вам не нужно сравнивать $ spot для каждого цвета - вы можете построить ключ массива, чтобы получить значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...