欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

这句话怎么理解

程序员文章站 2022-06-12 11:38:08
...
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函数处理


讲的很透,希望再接再厉
相关标签: 这句话怎么理解