Как написать ini файл в PHP-кодеригенере?

75
7

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

Я использовал put_file_contents и fwrite но не получил требуемого результата.

это мой код:

$data = array('upload_data' => $this->upload->data());
foreach ($data as $info)
{
$filepath = $info['file_path'];
$filename= $info['file_name'];
}
$this->data['parameters'] = parse_ini_file($filepath.$filename);
$insert = array(
'OTAID' => $this->input->post('OTAID'),
'SipUserName' => $this->input->post('SipUserName') ,
'SipAuthName' => $this->input->post('SipAuthName'),
'DisplayName' => $this->input->post('DisplayName'),
'Password' => $this->input->post('Password'),
'Domain' => $this->input->post('Domain'),
'Proxy' => $this->input->post('Proxy'),
'ServerMode' => $this->input->post('ServerMode')
);
$this->load->helper('file');
$file =fopen($filepath.$filename,'w');
fwrite($file,implode('', $insert));
$this->data['subview'] = 'customer/upload/upload_success';
$this->load->view('customer/_layout_main', $this->data);

спросил(а) 2021-01-19T14:08:38+03:00 2 месяца, 3 недели назад
1
Решение
61

Может случиться что-то вроде следующего:

//Replace the fwrite($file,implode('', $insert)); with
$iniContent = "";
foreach ($insert as $key => $value) {
$initContent .= $key."=".$value.PHP_EOL;
}
fwrite($file,$iniContent);

Примечание. Это, наверное, самая простая вещь, которую можно сделать. Я не занимаюсь секциями или комментариями или символами эвакуации или, в основном, какой-либо проверкой ошибок. Если вы ожидаете, что в коде будет много чего делать, я предлагаю вам изучить существующие библиотеки чтения/записи INI.

Обновить Попробуйте http://pear.php.net/package/Config_Lite или http://pear.php.net/package/Config, как предложено при создании ini файла, напишите значения в PHP (у которого также есть намного больше информации для просмотра для этого конкретного вопроса).

ответил(а) 2021-01-19T14:08:38+03:00 2 месяца, 3 недели назад
61

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


Также вы загружаете файл-помощник из codeigniter, но с использованием встроенных методов php. Пожалуйста, ознакомьтесь с документами здесь.

ответил(а) 2021-01-19T14:08:38+03:00 2 месяца, 3 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема