求解这段PHP代码是什么意思,作用是什么
发布网友
发布时间:2022-04-06 04:42
我来回答
共1个回答
热心网友
时间:2022-04-06 06:11
get_magic_quotes_gpc()函数是PHP内置的函数,这个函数的作用就是得到php.ini设置中magic_quotes_gpc选项的值。
如果magic_quotes_gpc=On,PHP解析器就会自动为post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
从5.4.0版本开始,始终返回 FALSE,因为这个魔术引号功能已经从 PHP 中移除了。
这段代码解释为:
if (get_magic_quotes_gpc()) {//如果设置了此参数,执行下面的代码
//设置自定义函数,对传入的参数进行转义
function stripslashes_deep($value)
{
//判断传入的值是数组时回调使用自身,对数组内所有的子数组进行细化到字符串,然后对字符串进行转义
$value = is_array($value) ? array_map('stripslashes_deep', $value) : stripslashes($value);
return $value;
}
//对POST、GET、COOKIE、REQUEST(所有提交的数据)数据进行上面自定义函数的转义,并递归到每一个子数组。
$_POST = array_map('stripslashes_deep', $_POST);
$_GET = array_map('stripslashes_deep', $_GET);
$_COOKIE = array_map('stripslashes_deep', $_COOKIE);
$_REQUEST = array_map('stripslashes_deep', $_REQUEST);
}