php stripslashes和addslashes的区别

 更新时间:2014年02月03日 13:59:46   作者:   我要评论
这篇文章主要介绍了php stripslashes和addslashes的区别,特分享下方便需要的朋友。

我们在向mysql写入数据时,比如:

复制代码 代码如下:

mysql_query("update table set `title`='kuhanzhu's blog'");


那就会出错。同asp时一样,金沙国际官网都会对单引号过敏。而addslashes在这个时候就最长面子了,跟asp的replace(”‘”,”””,”kuhanzhu's blog”)功能一样。

PHP为了安全性,所以引入了个magic_quotes_gpc = On的功能,可以不需要做任何处理就能直接把单引号插入金沙国际官网中,那么对于Off时,则需要考虑单引号的问题了,而不是一味地信任运行环境。

magic_quotes_gpc = On时,使用了addslashes()处理后的数据在金沙国际官网中将以\'形式保存,如果此时直接输出的话,就会发现比自己期待的内容多了个\,因此stripslashes()出场了,它能把\去掉(区别于str_replace(”\”, “”,$Str))。

magic_quotes_gpc = Off时,使用了addslashes()处理后的数据在金沙国际官网中将以'形式保存,没有上面说的有\的问题,addslashes()起到插入数据不出错的作用,如果此时直接输出的话,数据正常。不需要再用stripslashes()。

addslashes()和stripslashes()正好是相反的,直接记忆:addslashes()加个\,stripslashes()去个\

那么什么时候用呢?

简单说:

当magic_quotes_gpc = On时,系统会自动处理单引号等问题,用不用addslashes()和stripslashes()都没关系,但是如果添加数据时用了addslashes(),那么显示数据时必须要stripslashes()

当magic_quotes_gpc = Off时,系统不会处理单引号等问题,所以插入数据时必须要使用addslashes(),显示数据时则不需要使用stripslashes()。

既然有了分析,做程序时要怎么办呢?根据以上两种情况,可得:

不管magic_quotes_gpc是On还是Off,咱添加数据时都用addslashes(),当On时,必须使用stripslashes(),Off时则不能用stripslashes()。

如何判断On还是Off呢?用get_magic_quotes_gpc()。

最后举例:

复制代码 代码如下:

代码
//提交数据,或者变量准备:
$Content=addslashes(”这里面是数据,不管有没单引号或者还是变量”);
//插入数据到金沙国际官网,代码省略
//开始显示数据
$Content=”从金沙国际官网读取的数据”;
if(get_magic_quotes_gpc()){
  $Content=stripslashes($Content);
}
echo $Content;

相关文章

  • PHP 时间日期操作实战

    PHP 时间日期操作实战

    PHP 时间日期操作实战,学习php的朋友可以参考下。
    2011-08-08
  • ThinkPHP控制器详解

    ThinkPHP控制器详解

    一般来说,ThinkPHP的控制器是一个类,而操作则是控制器类的一个公共方法。下面我们就来详细谈谈ThinkPHP的控制器
    2015-07-07
  • PHP闭包函数传参及使用外部变量的方法

    PHP闭包函数传参及使用外部变量的方法

    这篇文章主要介绍了PHP闭包函数传参及使用外部变量的方法,基于Laravel框架分析了PHP闭包函数传参及外部变量相关使用技巧,需要的朋友可以参考下
    2016-03-03
  • php设计模式 FlyWeight (享元模式)

    php设计模式 FlyWeight (享元模式)

    运用享元技术有效的支持大量细粒度的对象,需要的朋友可以参考下。
    2011-06-06
  • lnmp安装多版本PHP共存的方法详解

    lnmp安装多版本PHP共存的方法详解

    这篇文章主要介绍了Lnmp环境中设置多版本PHP共存的技巧,依靠php-fpm工具来进行管理,需要的朋友可以参考下
    2018-08-08
  • 解析PHP 使用curl提交json格式数据

    解析PHP 使用curl提交json格式数据

    本篇文章是对PHP中使用curl提交json格式数据的实现方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP日期时间函数的高级应用技巧

    PHP日期时间函数的高级应用技巧

    PHP的日期时间函数date()中介绍了PHP日期时间函数的简单用法,这类将介绍更多的函数来丰富我们的应用。
    2009-05-05
  • PHP常量define和const的区别详解

    PHP常量define和const的区别详解

    这篇文章主要给大家介绍了关于PHP常量define和const区别的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用PHP具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • PHP 工厂模式使用方法

    PHP 工厂模式使用方法

    工厂类是指包含一个专门用来创建其他对象的方法的类,工厂类在多态性编程实践中是至关重要的,它允许动态的替换类,修改配置,通常会使应用程序更加灵活,熟练掌握工厂模式高级PHP开发人员是很重要的。
    2010-05-05
  • php缓存技术介绍

    php缓存技术介绍

    在WEB开发中用来应付高流量最有效的办法就是用缓存技术,能有效的提高服务器负载性能,用空间换取时间
    2006-11-11

最新评论