Приднестровская поддержка XOOPS
С помощью функции ini_set() можно изменить значение какой-либо директивы из файла php.ini на время выполнения сценария. Функция имеет следующий формат:
ini_set(<Директива>, <Новое значение>);
С помощью функции ini_get() можно посмотреть текущее значение какой-либо директивы. Функция имеет следующий формат:
ini_get(<Директива>);
Например:
echo ini_get("default_charset"); // Выведет windows-1251
Функция ini_get_all() возвращает массив значений всех директив:
echo "<pre>";
print_r(ini_get_all());
echo "</pre>";
Фрагмент HTML-кода, выведенного этим кодом PHP, будет отображен в Web-браузере так:
…
[date.timezone] => Array
(
[global_value] => Europe/Moscow
[local_value] => Europe/Moscow
[access] => 7
)
[default_charset] => Array
(
[global_value] => windows-1251
[local_value] => windows-1251
[access] => 7
)
…
Установить значение директивы с помощью функции ini_set() можно не всегда. Опция access, возвращаемая функцией ini_get_all(), позволяет определить, можно ли изменить значение директивы. Она может принимать следующие значения:
□ 4 — директива может быть изменена в php.ini или httpd.conf;
□ 6 — директива может быть изменена в php.ini, .htaccess или httpd.conf;
□ 7 — директива может быть изменена где угодно.
Посмотреть текущее значение какой-либо директивы и откуда ее можно изменить позволяет следующий скрипт:
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>">
<input type="text" name="name_ini">
<input type="submit" value="Определить">
</form>
<?php
if (isset($_GET['name_ini'])) {
$ini = $_GET['name_ini'];
$arr = ini_get_all();
if (!isset($arr[$ini])) {
echo 'Директива не найдена';
exit();
}
echo 'Директива <b>' . $ini . '</b>';
echo '<br>Глобальное значение: ';
echo htmlspecialchars($arr[$ini]['global_value']);
echo '<br>Локальное значение: ';
echo htmlspecialchars($arr[$ini]['local_value']);
echo '<br>Изменить можно ';
switch ($arr[$ini]['access']) {
case 4: echo 'в php.ini или httpd.conf'; break;
case 6: echo 'в php.ini, .htaccess или httpd.conf';
break;
case 7: echo 'где угодно'; break;
}
}
?>
Для изменения директив PHP из файла .htaccess или httpd.conf используются две директивы — php_value и php_flag. Директива php_flag служит для установки логических значений директив, а php_value — для строковых и числовых значений:
php_value <Директива> <Значение>
php_flag <Директива> On | Off
Например:
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
Отправитель | Нити |
---|
3 пользователь(ей) активно (2 пользователь(ей) просматривают Инструкции)
Участников: 0 Гостей: 3 далее... |