Я думаю, что причина ошибки в том, что вы не можете использовать определенные символы в своем INI-файле.
В вашем случае такие записи, как HO Address(Mumbai)
, недопустимы из-за скобок (
и )
.
Из руководства по PHP:
Символы ?{}|&~![()^"
не должны использоваться где-либо в ключе и имеют специальное значение в значении.
Вы можете прочитать больше в документации parse_ini_file () .
PS Приведенное выше является причиной ошибки, о которой вы спрашивали, но это не единственная проблема, с которой вы столкнетесьвстреча.
Вам следует просмотреть структуру вашего файла в целом, так как она не соответствует стандартному формату ini .Файл INI обычно должен иметь вид
[simple]
val_one=SomeValue
val_two=567
[simple2]
val_three=SomeOtherValue
val_four=890
, где [simple]
обозначает раздел, а затем val_one
, val_two
и т. Д. Являются ключами, а SomeValue
, 567
и т. Д.являются ценностями.Синтаксический анализ вышеприведенного использования функций PHP parse_ini_*
приведет к выдаче либо
Array
(
[val_one] => SomeValue
[val_two] => 567
[val_three] => SomeOtherValue
[val_four] => 890
)
, либо
Array
(
[simple] => Array
(
[val_one] => SomeValue
[val_two] => 567
)
[simple2] => Array
(
[val_three] => SomeOtherValue
[val_four] => 890
)
)
в зависимости от того, установлен флаг $process_sections
в значение false или true.Демонстрационная версия: https://3v4l.org/4q82F
Также это немного странные данные для хранения в INI-файле - эти файлы обычно используются для хранения таких вещей, как настройки приложения, тогда как ваши офисные адреса, вероятно, больше подходят для хранения в базе данных.(или, по крайней мере, в файле JSON), где будет а) больше структуры и б) меньше ограничений на использование не алфавитно-цифровых символов.