У меня есть файл .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.
Вы можете использовать parse_ini_file()
Использовать parse_ini
:
$colors = parse_ini($path_to_ini, true); if(array_key_exists($myTheme, $colors)) { $myColor = $colors[$myTheme]['color' . $spot]; }
Вам не нужно сравнивать $ spot для каждого цвета – вы можете построить ключ массива, чтобы получить значение.
Для этого есть функция для 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']; ?>