The configuration function of PHP is several ini_* functions, mainly for the operation of configuration files. There are actually four functions: ini_get, ini_set, ini_get_all, and ini_restore. Personally, the most useful ones are ini_set and ini_get.
* ini_get(): Get the option value of the configuration file
I believe many people have used this function, which is to get the value of an option in the configuration file. If If it is a true value, it returns 1, if it is a false value, it returns 0, and if it is a string, it returns a string.
For example, the example in the manual:
<p><?php <br>/*<br>Our php.ini contains the following settings:</p><p>display_errors = On<br>register_globals = Off<br>post_max_size = 8M<br>*/<br>echo 'display_errors = ' . ini_get('display_errors') . "n"; //显示错误是否打开<br>echo 'register_globals = ' . ini_get('register_globals') . "n";//全局变量是否打开<br>echo 'post_max_size = ' . ini_get('post_max_size') . "n";//最多能提交的文件大小<br>echo 'post_max_size+1 = ' . (ini_get('post_max_size')+1) . "n"; <br>?></p> Copy after login |
Output:
<p>display_errors = 1<br>register_globals = 0<br>post_max_size = 8M<br>post_max_size+1 = 9</p> Copy after login |
This function is mainly used to obtain Configuration files can facilitate many operations for you. For example, you want to operate string filtering, but you don’t know whether magic_quotes_gpc is turned on, so you can write a function like this:
<p>/* 字符串过滤函数 */<br>function stringFilter($str)<br>{<br>if (ini_get('magic_quotes_gpc)') {<br>return $str;<br>} else {<br>return addslashes($str);<br>}<br>}</p> Copy after login |
Of course, if you can’t know your global situation Whether the variable is open or not, you can also customize a function like this:
<p>/* 变量检测函数 */<br>function getGetVar($var)<br>{<br>if (ini_set('register_gobals')) {<br>return $var;<br>} else {<br>return $_GET['var'];<br>} <br>}</p> Copy after login |
Of course, you can do many uses, and you will slowly experience it yourself.
* ini_set function: Set certain variable values in php.ini
This function is to set the value in the option, which takes effect after executing the function and the script ends Sometimes, this setting also fails. Not all options can be set by the function. The specific values that can be set can be viewed in the manual for a list.
is able to set the option value in php.ini. For example, the display_error option is turned off, but you want to display the error message in the program to facilitate your debugging the program, then you can use this function:
<p>ini_set("display_errors", "On");</p> Copy after login |
Then the program on your page will display error information, and you can also use error_reporting to set the level of error information displayed.
If you need to increase the script execution time, you can set:
<p>ini_set("max_execution_time", "180");</p> Copy after login |
Then the script execution time will be changed from the default 30 seconds to 180 seconds. Of course, You can also use set_time_limit() to set it.
In fact, it is very good if you combine ini_set and ini_get. For example, if you want to add your own include file path to the configuration file, but do you have permission to change php.ini, then you can combine two functions:
<p>ini_set('include_path',ini_get('include_path').':/your_include_dir:'); </p> Copy after login |
* ini_get_all: Get all setting option variables
and return all option values in the form of an array, which is convenient for you to use when phpinfo() cannot be used.
Manual example, such as:
<p><?php <br>$inis = ini_get_all();<br>print_r($inis);<br>?> </p> Copy after login |
Partial output:
<p>Array<br>(<br>[allow_call_time_pass_reference] => Array<br>(<br>[global_value] => 1<br>[local_value] => 1<br>[access] => 6<br>)<br>[allow_url_fopen] => Array<br>(<br>[global_value] => 1<br>[local_value] => 1<br>[access] => 7<br>)<br>...<br>)</p> Copy after login |
* ini_restore: Restoring the default value of the configuration file
is the default value of the restoring configuration file. You can use it to restore it after you use ini_set to set it.
(Editor-in-charge Huo Fenghuang