这句话怎么理解
程序员文章站
2022-06-10 09:52:07
...
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;
}
讲的很透,希望再接再厉
还有下面这段
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函数处理
讲的很透,希望再接再厉
上一篇: 腾讯CMEM的PHP扩展编译安装方法
下一篇: MongoDB查询迷题(1)