Всем привет. В данной статье будут рассмотрены основные функции с помощью которых мы можем работать с конфигурационным файлом php.ini прямо из контекста документа. Поехали!
Для того чтобы получить все директивы из файла php.ini мы можем воспользоваться функцией ini_get_all():
$ini = ini_get_all();
var_dump($ini);
Данная функция возвращает все директивы файла php.ini в виде ассоциативного массива.
Если мы хотим получить значение определенной директивы можно воспользоваться функцией ini_get():
$timezone = ini_get('date.timezone');
echo $timezone;
Здесь мы получили значение директивы date.timezone файла php.ini Мы также можем изменять значения директив.
ini_set('date.timezone','Europe/Minsk');
$timezone = ini_get('date.timezone');
echo $timezone;
Здесь мы с помощью функции ini_set() установили для директивы date.timezone значение Europe/Minsk. Тут вы должны понимать что в самом файле php.ini при отработке данной функции ничего не меняется. Данная функция устанавливает новое значение директивы которое будет работать в контексте того документа где данная функция была вызвана. Если проще сказать то изменения директив с помощью функции ini_set() не сохраняются в самом php.ini
Если вы хотите изменить значение директивы файла php.ini и чтобы оно было сохранено в самом файле. Это придется сделать вручную перейдя в сам файл.
Есть функция благодаря которой вы можете отменять изменения внесенные с помощью ini_set() и восстанавливать значение директивы которое было по умолчанию:
ini_set('date.timezone','Europe/Minsk');
ini_restore('date.timezone');
$timezone = ini_get('date.timezone');
Здесь мы с помощью функции ini_set() установили новое значение для директивы.
Однако далее мы использовали функцию ini_restore() которая восстанавливает прежнее состояние указанной директивы файла php.ini В результате у нас ничего не поменяется, так как заданные настройки ini_set() были сброшены функцией ini_restore().
Вот в принципе мы и рассмотрели все основные функции для работы с файлом php.ini
Напоследок я вам скажу что вы можете создавать свои собственные конфигурационные файлы с расширением ini и хранить там определенные настройки, константы и т. п.
Допустим мы создали свой конфигурационный файл my.ini и поместили туда следующие параметры:
#Мои настройки
settings = on
const = off
С помощью знака решетки мы можем оставлять однострочные комментарии. Данный файл имеет очень простой формат записи. Мы просто пишем в каждой строчке название директивы и ее значение.
И теперь для того чтобы получить содержимое нашего конфигурационного файла my.ini . Нам достаточно воспользоваться функцией parse_ini_file().
$my_file_ini = parse_ini_file(__DIR__.'/my.ini', true);
var_dump($my_file_ini);
Первый аргументом функции мы передаем путь до нашего конфигурационного файла. А вторым значение true.
В результате нам вернутся наши директивы и их значения в виде ассоциативного массива. Заметьте что в качестве значения on нам вернулась единица(1), а в качестве off пустая строка.
- Значение on в файле c расширением ini является истиной (true,1)
- Значение off в файле c расширением ini является ложью (false,'')
Вот и все что вы должны знать о функциях php с помощью которых мы можем взаимодействовать с файлами ini.
На этом дорогие друзья данная статья подошла к концу.
Я желаю вам успехов и удачи! Пока!