当前位置:Gxlcms > PHP教程 > 这句话怎么理解

这句话怎么理解

时间:2021-07-01 10:21:17 帮助过:27人阅读

if (ini_get('magic_quotes_gpc'))

还有下面这段
if (ini_get('magic_quotes_gpc')) {
function stripslashesRecursive(array $array){
foreach ($array as $k => $v) {
if (is_string($v)){
$array[$k] = stripslashes($v);
} else if (is_array($v)){
$array[$k] = stripslashesRecursive($v);
}
}
return $array;
}


回复讨论(解决方案)

(ini_get('magic_quotes_gpc')) //获取一个配置选项的值

下面的函数是把一个多维数组里的字符串递归地用addslashes()转义,也就是把数组里的所有的字符串用addslashes函数处理

1. 对于PHP magic_quotes_gpc= on的情况, 我们可以不对输入和输出数据库的字符串数据作addslashes()和stripslashes()的操作,数据也会正常显示。
如果此时你对输入的数据作了addslashes()处理,那么在输出的时候就必须使用stripslashes()去掉多余的反斜杠。

2. 对于PHP magic_quotes_gpc= off 的情况
必须使用addslashes()对输入数据进行处理,但并不需要使用stripslashes()格式化输出,因为addslashes()并未将反斜杠一起写入数据库,只是帮助mysql完成了sql语句的执行。

参考: http://developer.51cto.com/art/200911/165392.htm

(ini_get('magic_quotes_gpc')) //获取一个配置选项的值

下面的函数是把一个多维数组里的字符串递归地用addslashes()转义,也就是把数组里的所有的字符串用addslashes函数处理


讲的很透,希望再接再厉

人气教程排行