ini_restore()
(PHP 4, PHP 5, PHP 7)
恢复配置选项的值
说明
ini_restore(string $varname): void
恢复指定的配置选项到它的原始值。
参数
- $varname
配置选项名称。
返回值
没有返回值。
范例
Example #1ini_restore()例子
<?php $setting = 'y2k_compliance'; echo 'Current value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL; ini_set($setting, ini_get($setting) ? 0 : 1); echo 'New value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL; ini_restore($setting); echo 'Original value for \'' . $setting . '\': ' . ini_get($setting), PHP_EOL; ?>
以上例程会输出:
Current value for 'y2k_compliance': 1 New value for 'y2k_compliance': 0 Original value for 'y2k_compliance': 1
参见
ini_get()
获取一个配置选项的值ini_get_all()
获取所有配置选项ini_set()
为一个配置选项设置值
If like me you thought ini_restore() would restore to the most recent setting rather than the startup value, you could use this. <?php /** * Executes a function using a custom PHP configuration. * * @param array $settings A map<ini setting name, ini setting value>. * @param callable $doThis The code to execute using the given settings. * @return mixed Returns the value returned by the given callable. */ function ini_using_do(array $settings, callable $doThis){ foreach($settings as $name => $value){ $previousSettings[$name] = ini_set($name, $value); } $returnValue = $doThis(); if(isset($previousSettings)){ foreach($previousSettings as $name => $value){ ini_set($name, $value); } } return $returnValue; } ?>