1、这个函数的使用和php.ini中的magic_quotes_gpc的配置有关,默认情况下,这个配置为on。并且,这个配置处于一个较高级别,脚本中不能修改。所以,检测这个配置情况就很重要。
2、在脚本中,虽然不能配置magic_quotes_gpc,但可用get_magic_quotes_gpc()函数进行检测,返回1,表明php.ini为on,否则为off。
3、magic_quotes_gpc为on的情况下,addslashes()函数功能会自动实现,比如,当你在输入含有单引号(‘)、双引号(")、反斜杠(\)的字符串并且点击了提交按钮以后,会自动给这些符号前面加上“\”。当然了,如果不是通过文本框提交后得来的字符串,需要实现加上反斜杠的效果,必须手动使用addslashes()函数。
4、加上反斜杠有何用处呢?这就得提到字符串的输出了。脚本中,字符串的输出一般有两种方式。一种直接echo,另外一种insert到数据库中。对前一种输出情况来说,反斜杠没有用处,必须用stripslashes()函数将之过滤掉(有点多此一举的意思),但对后一种insert到数据库中的情况来说,反斜杠就有用处了。
5、数据库对数据的存取不去探究,反正要知道:带有单引号(‘)、双引号(")、反斜杠(\)的字符串,只有加上反斜杠存入数据库,之后读出来才是正常数据。