PHP daddslashes 使用方法介绍

更新时间:2012年10月26日 01:47:14   作者:

PHP提供两个方便我们引用数据的魔法引用函数magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行

实例代码:

@set_magic_quotes_runtime(0);

$MQG = get_magic_quotes_gpc();

if(!$MQG && $_POST) $_POST = daddslashes($_POST);

if(!$MQG && $_GET) $_GET = daddslashes($_GET);

//转译字符函数

function daddslashes($string) {

if(!is_array($string)) return addslashes($string);

foreach($string as $key => $val) $string[$key] = daddslashes($val);

return $string;

}

PHP提供两个方便我们引用数据的魔法引用函数magic_quotes_gpc和magic_quotes_runtime,这两个函数如果在php.ini设置为ON的时候,就会为我们引用的数据碰到 单引号' 和 双引号" 以及 反斜线\ 时自动加上反斜线,帮我们自动转译符号,确保数据操作的正确运行,可是我们在php不同的版本或者不同的服务器配置下,有的magic_quotes_gpc和magic_quotes_runtime设置为on,有的又是off,所以我们写的程序必须符合on和off两种情况。那么magic_quotes_gpc和magic_quotes_runtime两个函数有什么区别呢?看下面的说明:

magic_quotes_gpc和magic_quotes_runtime函数区别

magic_quotes_gpc

作用范围是:web客户

服务端;

作用时间:请求开始是,例如当脚本运行时。

magic_quotes_runtime

作用范围:从文件中读取的数据或是从SQL查询中得到的;

作用时间:每次当脚本访问运行状态中产生的数据。

所以magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据

例子说明:

$data1 = $_POST['aaa'];

$data2 = implode(file('1.txt'));

if(get_magic_quotes_gpc()){

//把数据$data1直接写入数据库 (自动转译)

}else{

$data1 = addslashes($data1);

//把数据$data1写入数据库,用函数(addslashes()转译)

}

if(get_magic_quotes_runtime()){

//把数据$data2直接写入数据库(自动转译)

//从数据库读出的数据要经过一次stripslashes()之后输出stripslashes()的作用是去掉:\ ,和addslashes()作用相反

}else{

$data2 = addslashes($data2);

//把数据$data2写入数据库

//从数据库读出的数据直接输出

}

最关键的区别是就是上面提到的2点:他们针对的处理对象不同

magic_quotes_gpc的设定值将会影响通过Get/Post/Cookies获得的数据

magic_quotes_runtime的设定值将会影响从文件中读取的数据或从数据库查询得到的数据

在这里顺便在提几个想关联的函数:

set_magic_quotes_runtime():

设置magic_quotes_runtime值. 0=关闭.1=打开.默认状态是关闭的.

get_magic_quotes_gpc():

查看magic_quotes_gpc值.0=关闭.1=打开

get_magic_quotes_runtime():

查看magic_quotes_runtime值。0=关闭.1=打开.

注意的是没有 set_magic_quotes_gpc()这个函数,就是不能在程序里面设置magic_quotes_gpc的值。

相关文章

3...2006-10-10

PHP5中,使用新的统一的构造函数命名方式:__construct(),当然,使用类名同样也是可以的2012-07-07

php中的时间处理...2006-10-10

建立文件交换功能的脚本(三)...2006-10-10

PHP最大的优点之一显然在于它的快速度,然而,当你不得不面对庞大的访问量、高负荷的应用、有限的带宽以及 其他各种带来性能瓶颈的因素时,或许只要加上一个 很不起眼的免费模块,你的PHP应用性能以及Web服务器响应速度就会有显著的改善2006-10-10

php录入页面中动态从数据库中提取数据的实现...2006-10-10

简单介绍下 PHP5 中引入的 MYSQLI的用途...2007-03-03

面向对象

对象概念是面向对象技术的核心。在显示世界里我们所面对的事情都是对象,如计算机、电视机、自行车等。在面向对象的程序设计中,对象是一个由信息及对信息进行处理的描述所组成的整体,是对现实世界的抽象2008-06-06

照例,首先向大家介绍什么是时间戳。

说得通俗一些,时间戳就是根据当前系统时间生成的一组随机数字。时间戳一般作为对数据唯一性的一种判断依据。接下来向大家介绍一下我们可以如何运用时间戳。2008-06-06

第十节--抽象方法和抽象类...2006-11-11

最新评论

php中的run(),PHP daddslashes 使用方法介绍相关推荐

  1. python客户端修改session_python中flask的Session设置的方法介绍

    本篇文章给大家带来的内容是关于python中flask的Session设置的方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 什么是Session? cookie: 客户端浏览 ...

  2. Python 中 异步协程 的 使用方法介绍

    静觅 崔庆才的个人博客:Python中异步协程的使用方法介绍:https://cuiqingcai.com/6160.html Python 异步 IO .协程.asyncio.async/await ...

  3. python右对齐格式化输出_Python中格式化输出的两种方法介绍

    本篇文章给大家带来的内容是关于Python中格式化输出的两种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 方式一:使用占位符 % 常用占位符:% s (s = string ...

  4. 华为n3计算机在哪里,在华为nova3i中连接电脑的两种方法介绍

    大家知道怎么在华为nova3i中连接电脑吗?不知道没有关系,小编今天介绍在华为nova3i中连接电脑的两种方法,希望可以帮助到你哦. 在华为nova3i中连接电脑的两种方法介绍 方法一: 1.下载并且 ...

  5. 如何更改计算机睿频,bios中关闭cpu睿频实用方法介绍

    有网友问小编关于bios中关闭cpu睿频的方法,其实cpu是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Unit).它的功能主要是解释计算机指令以及处理计算 ...

  6. html图层透明度,ps图层透明度怎么调整?Photoshop中调整图层透明度的三种方法介绍...

    Photoshop里面怎么调整图层的透明度?作为一个"切图仔",切图的时候,看到总有透明的图层估计是最头痛的事,不知道其他人怎么样,个人却是最怕做透明的样式..扯远了,但确实因为要 ...

  7. ubuntu 开启ipv6_Ubuntu系统中禁用IPv6的两种方法介绍

    Ubuntu系统如何禁用ipv6呢?ipv6的普及将会需要很长一段时间,接下来的文章中小编将会介绍在Ubuntu系统中禁用ipv6的方法,有需要的朋友不要错过哦! Pv6 介绍 Pv6 旨在提高安全性 ...

  8. python绘图库_利用python中的绘图库绘图的方法介绍

    matplotlib是Python最著名的绘图库,本文给大家分享了利用matplotlib+numpy绘制多种绘图的方法实例,其中包括填充图.散点图(scatter plots).. 条形图(bar ...

  9. php 像页面输出html,PHP在页面中原样输出HTML代码的方法介绍

    本篇文章给大家介绍一下PHP在页面中原样输出HTML代码的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 字符串与HTML之间的相互转换主要应用htmlentities()函数 ...

最新文章

  1. 什么是xmlschema
  2. java对象重用_JAVA:避免重复的创建对象
  3. 【USACO 3.1】Contact(01子串按出现次数排序)
  4. 系统下装软件_电力二次设备自动测试系统
  5. 直男对于产品经理的思考
  6. why SAP CRM My Opportunity Master page must be renamed as S2
  7. 网站开启Gzip压缩-apache
  8. 数据结构系统学习(1)数据类型和数据结构的概念
  9. 编程三角形面积公式_利用边长计算三角形面积 — 海伦公式推导
  10. 计算机学院品牌活动,安阳师范学院 计算机学院成功举办校园文化品牌活动“一月一赛”之三笔字比赛...
  11. JS小游戏-极速快跑
  12. 不再依赖A*,利用C++编写全新寻路算法
  13. 夺命雷公狗---node.js---7fs模块初步
  14. 第2节 网站点击流项目(下):5、访客分析
  15. Ms08-067漏洞抓鸡 方法
  16. 【超详细教程】告别证书,图文并茂教你免签名XX,三种方法任你选!超简单...
  17. tomcat日志切割和定期删除
  18. win10 C盘扩大容量
  19. linux降调软件下载,o的发音有几种
  20. error: #268: declaration may not appear after executable statement in block

热门文章

  1. 应用程序连接 SQL2000 数据库失败的一种可能原因
  2. C# 泛型约束 new() 的底层细节和性能
  3. php对接微信H5 V3版本支付不使用SDK
  4. 【40本】算法与数据结构技术书籍从入门到进阶附技术书阅读方法论
  5. c语言switch语句最大嵌套数,浅谈C语言中switch 语句的嵌套使用
  6. 论文笔记-DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM
  7. 运筹,三点估算+投资回收期
  8. 【PraNet】主要架构解读-------wmilk
  9. Word Ctrl+V 复制多次
  10. 天然气压缩因子计算软件_【论文】王凯等:天然气单流涡流管流场与温度场数值模拟...