Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 7

не могу разобраться с ini файлом

25.05.2014, 12:04. Показов 1706. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Задача: Есть ini файл с параметрами
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[first_section]
one = 1
five = 5
animal = BIRD
 
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"
 
[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"
Пока обычный семпловый файл.
Нужно достать его эти параметры и поместить в поле input, соответственно с возможностью переписать значение.
По итогу, нажимается кнопка сохранить и все параметры перезаписываются не нарушая структуры самого ini файла.

Одним словом должно быть как в интерфейсе роутера, куда вбиваются все параметры и записываются в какой-то конфиг файл.

P.S. Не принципиально чтобы файл был ini, можно и обычный текстовый, просто под руку попалась функция parse_ini_file которая раскидывает все по массивам.

На данный момент реализовано:
файл с данными sample.ini
файл изъятия элементов массива inipars.php
файл попытки записать элемент в массив action.php
1.rar

Затык:
Не знаю как перезаписать элемент(ы) массива ini файла
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.05.2014, 12:04
Ответы с готовыми решениями:

Не могу разобраться с файлом - не работает переход
Ребята, помогите разобраться в чем проблемка. Почему у меня в ячейке U7 выдает ошибку

Не могу разобраться с файлом "stdafx"
Проблема в том, что в коде с++ я полный новичок, мягко говоря)) Препод по ООП дал часть кода и сказал чтоб мы его додумали. Помогите...

Задали работу, не могу разобраться. Используется делфи 10, не могу разобраться, как это сделать
В одномерном массиве, состоящем из n вещественных элементов, вычислить: минимальный элемент массива и сумму элементов массива,...

3
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.05.2014, 13:02
Цитата Сообщение от Leva888 Посмотреть сообщение
Не знаю как перезаписать элемент(ы) массива ini файла
Через foreach.
Входной файл test.ini:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[first_section]
one = "1"
five = "12"
animal = "BIRD"
 
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"
 
[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"
php-скрипт:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$filename = "test.ini";
$arr = parse_ini_file($filename, true);
echo "<pre>ini-файл ДО:<br/>\r\n";
print_r($arr);
// проводим необходимые изменения с массивом
$arr['first_section']['five']++;
// записываем данные назад в файл
$f = fopen ($filename, 'w');
foreach ($arr as $k => $v)
{
    fwrite($f, "\r\n[".$k."]\r\n"); 
    foreach ($v as $k1 => $v1)
    {
        if (is_array($v1))
            foreach ($v1 as $v2)
                fwrite($f, $k1."[] = \"".$v2."\"\r\n");
        else
            fwrite ($f, $k1." = \"".$v1."\"\r\n");
    }
}
fclose($f);
echo "<br/>\r\nini-файл ПОСЛЕ:<br/>\r\n";
$arr = parse_ini_file($filename, true);
print_r($arr);
echo "</pre>";
?>
Файл test.ini после обработки скриптом:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[first_section]
one = "1"
five = "14"
animal = "BIRD"
 
[second_section]
path = "/usr/local/bin"
URL = "http://www.example.com/~username"
 
[third_section]
phpversion[] = "5.0"
phpversion[] = "5.1"
phpversion[] = "5.2"
phpversion[] = "5.3"
То есть содержимое first_section -> five будет увеличиваться на 1 каждый раз.
1
0 / 0 / 0
Регистрация: 20.12.2012
Сообщений: 7
25.05.2014, 14:42  [ТС]
Т.е. foreach можно вытащить в action чтобы обрабатывал по кнопке изменение параметра?
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
25.05.2014, 14:50
Цитата Сообщение от Leva888 Посмотреть сообщение
Т.е. foreach можно вытащить в action чтобы обрабатывал по кнопке изменение параметра?
Извините, но это несвязный набор слов и я не знаю как не него можно ответить

Не по теме:

foreach это оператор, его не надо никуда вытаскивать.
action что такое? атрибут тега <form> ? тогда причем тут он?
обрабатывать изменение параметра по кнопке да можно, с помощью формы. Я даже комментариями выделил где происходит изменение значений ини файла. У меня там строка $arr['first_section']['five']++;, а Вы можете поставить, например, $arr['first_section']['five'] = $_GET['five'];... и так далее. Просто судя по первым трем пунктам, которые как Вы говорите Вы написали, я думал Вы дальше сами догадаетесь что с этим делать...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.05.2014, 14:50
Помогаю со студенческими работами здесь

Работа с ini файлом
Подскажите пожалуйста в чем может быть проблема, выгружаю данные в ini файл, и если не перезапускать программу то назад все импортируется...

Работа с ini файлом
Возник такой вопрос, как узнать что не удалось считать параметр из ini файла? Вот например есть ini файл он создан и находится в папке но...

Работа с ini файлом
Здравствуйте программисты! У меня проблема такова: делаю тестер на delphi7, вопросы и ответы подгружаю с ini файла... Но вот проблема,...

затруднение с ini файлом
Здравствуйте уважаемые программисты. Следующий вопрос: что значит этот код... procedure TForm1.FormClose(Sender: TObject; var Action:...

Работа с ini файлом
Всем привет! Делаю программу тестирования на курсовой проект. В общем, вопросы берутся из ini файла и выводятся в panel... (но постоянно в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru