php中stripslashes与addslashes用法区别

 更新时间:2016年11月25日 15:04  点击:1889
在php中我们常会使用到stripslashes与addslashes了, 下面我来详细的介绍stripslashes与addslashes使用方法与它们之间的区别。

addslashes

addslashes() 函数在指定的预定义字符前添加反斜杠。

这些预定义字符是:

•单引号 (')
•双引号 (")
•反斜杠 ()
•NULL

在本例中,我们要向字符串中的预定义字符添加反斜杠:

注释:默 认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。

 代码如下 复制代码

/**
* 判断是否用addslashes()处理
*
* @param String $str
*
*/

function str_addslashes($str, $db_type='mysql') {
if(get_magic_quotes_gpc()){
   switch($db_type){           
case "access":
$str = stripslashes($str);
$str = str_replace("'","''",$str);           
break;       
}
}else {
         switch($db_type){
case "mysql":
$str = addslashes($str);
break;
case "access":
$str = str_replace("'","''",$str);
break;       

}
return $str;
}

自定义函数str_addslashes说明:如果我们在提交过程中不知道magic_quotes_gpc是否打开的情况下,可采取如此方式进行处理,为on时mysql数据库不做处理,而access数据库依然要先去掉,再将单引号替换为双引号。为off时mysql数据库加上

stripslashes()

stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。

代码

 代码如下 复制代码

//提交数据,或者变量准备:

$Content=addslashes(”这里面是数据,不管有没单引号或者还是变量”);

//插入数据到数据库,代码省略

//开始显示数据

$Content=”从数据库读取的数据”;

if(get_magic_quotes_gpc()){
  $Content=stripslashes($Content);
}

echo $Content;

区别总结

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

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

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

一个简单的php中strtotime给个时间返回该时间所在的星期一实现代码,有需要的朋友可参考。

strtotime() 函数将任何英文文本的日期时间描述解析为 Unix 时间戳。

很简单:

 代码如下 复制代码

echo strtotime('-1 Mon',strtotime("2010-01-01"));//返回日期所在时间的星期一

echo strtotime('Mon',strtotime("2010-01-01"));//返回日期所在时间的下一个星期一的时间

非空目录就是指目录中还有其它文件或文件夹了,删除原理是:先我们进入目录中找出是否是空目录或文件进行删除,如果不是再进入下级目录直到为空目录然后,然后再返回删除上级,也就是遍历目录进行删除了。

算是一篇超简单的php教程了,也入是入门级的东西了,就不多讲了

代码

 代码如下 复制代码

<?php
// 说明: 删除非空目录的解决方案
function removeDir($dirName)
{
    if(! is_dir($dirName))
    {
        return false;
    }
    $handle = @opendir($dirName);
    while(($file = @readdir($handle)) !== false)
    {
        if($file != '.' && $file != '..')
        {
            $dir = $dirName . '/' . $file;
            is_dir($dir) ? removeDir($dir) : @unlink($dir);
        }
    }
    closedir($handle);
     
    return rmdir($dirName) ;
}
?>

还有很多的方法,这里就不介绍了,其实程序中的 unlink 删除文件,而rmdir删除此目录。

在php中删除一个数组元素我们有很多种方法,但是常用的就是利用unset函数了,但是删除中间的数组元素了我们要怎么重建数组索引呢,下面来参考。
 代码如下 复制代码

$arr = array(1,2,3,4);
unset($arr[1]);
echo $array[1]; // error Undefined offset
print_r($arr);

// 输出如下
/**
Array
(
    [0] => 1
    [2] => 3
    [3] => 4
)
**/
$arr = array_values($arr);
print_r($arr);
// 输出如下
/**
Array
(
    [0] => 1
    [1] => 3
    [2] => 4
)
**/

在php要获取文件的修改,创建时间我们可以直接使用filemtime() 函数,它可以返回文件内容上次的修改时间。

若成功,则时间以 Unix 时间戳的方式返回。若失败,则返回 false。

filemtime ( string filename )

返回文件上次被修改的时间,出错时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date()。

 代码如下 复制代码

$a=filemtime("log.txt");   

echo "修改时间:".date("Y-m-d H:i:s",$a);

filectime ( string filename )
返回文件上次 inode 被修改的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。

 代码如下 复制代码

$a=filectime("log.txt");   

echo "创建时间:".date("Y-m-d H:i:s",$a);

fileatime ( string filename )
返回文件上次被访问的时间,如果出错则返回 FALSE。时间以 Unix 时间戳的方式返回。

 代码如下 复制代码

$a=fileatime("log.txt");   

echo "修改时间:".date("Y-m-d H:i:s",$a)."

[!--infotagslink--]

相关文章

  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句 定义一个范围,将在此...2020-06-25
  • iscroll.js 用法介绍

    最新版下载: http://www.csdn123.com/uploadfile/2015/0428/20150428062734485.zip 概要 iScroll 4 这个版本完全重写了iScroll这个框架的原始代码。这个项目的产生...2016-05-19
  • C++中cin的用法详细

    这篇文章主要介绍了C++中cin的用法详细,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-04-25
  • C#中的try catch finally用法分析

    这篇文章主要介绍了C#中的try catch finally用法,以实例形式分析了try catch finally针对错误处理时的不同用法,具有一定的参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • 示例详解react中useState的用法

    useState 通过在函数组件里调用它来给组件添加一些内部 state,React 会在重复渲染时保留这个 state,接下来通过一个示例来看看怎么使用 useState吧...2021-06-04
  • PHP中print_r、var_export、var_dump用法介绍

    文章详细的介绍了关于PHP中print_r、var_export、var_dump区别比较以及这几个在php不同的应用中的用法,有需要的朋友可以参考一下 可以看出print_r跟var_export都...2016-11-25
  • php中php://input的用法详细

    在使用xml-rpc的时候,server端获取client数据,主要是通过php输入流input,而不是$_POST数组。所以,这里主要探讨php输入流php://input。 下面的例子摘取的是wordpres...2016-11-25
  • Delphi常用关键字用法详解

    这篇文章主要介绍了Delphi常用关键字用法,包括了各个常用的关键字及其详细用法,需要的朋友可以参考下...2020-06-30
  • MySQL中的主键以及设置其自增的用法教程

    1、声明主键的方法: 您可以在创建表的时候就为表加上主键,如: CREATE TABLE tbl_name ([字段描述省略...], PRIMARY KEY(index_col_name)); 也可以更新表结构时为表加上主键,如: ALTER TABLE tbl_name ADD PRIMARY KEY (in...2015-11-24
  • C#中this的用法集锦

    本文给大家汇总介绍了C#中的几种this用法,相信大家应该有用过,但你用过几种?以下是个人总结的this几种用法,欢迎大家拍砖,废话少说,直接列出用法及相关代码。...2020-06-25
  • window.onerror()的用法与实例分析

    目前在做window.onerror时上报js错误信息的事,整理下相关资料,需要的朋友可以参考下...2016-01-29
  • C语言循环结构与时间函数用法实例教程

    这篇文章主要介绍了C语言循环结构与时间函数用法,是C语言中非常重要的一个技巧,需要的朋友可以参考下...2020-04-25
  • php中 ->与 ==>符号的用法与区别

    本文章来给大家介绍一下在php中 ->与 ==>符号的用法与区别,有需要了解的朋友可尝试参考。 “->”(减号、右尖括号) 用于类中,访问类里的函数或对象,比如:...2016-11-25
  • foreach()有两种用法

    foreach()有两种用法 1: foreach(array as $value) { 表达式; } 这里的array是你要遍历的数组名,每次循环中,array数组的当前元素的值被赋给$value,...2016-11-25
  • php __FILE__用法

    __FILE__在php是表示当前文件绝对路径哦,下面我们来看看简单的FILE的实例吧。 《?php echo __FILE__; ?> E:phpinfo.php 那么我们会看到很多cms中会这样写 dirname...2016-11-25
  • php反斜杠处理函数addslashes()和stripslashes()的使用教程

    这篇文章写了php反斜杠处理函数addslashes()和stripslashes()的使用教程,学习过程中遇到问题的同学快来看看吧! php 反斜杠处理函数 addslashes():对输入字符串中的...2016-12-31
  • Sort()函数的多种用法

    sort() 方法用于对数组的元素进行排序。接下来通过本文给大家介绍Sort()函数的多种用法,对sort函数的用法相关知识感兴趣的朋友一起学习...2016-03-22
  • ES6学习教程之Promise用法详解

    这篇文章主要给大家介绍了关于ES6学习教程之Promise用法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-23
  • C#分屏控件用法实例

    这篇文章主要介绍了C#分屏控件用法实例,需要的朋友可以参考下...2020-06-25
  • Python Parser的用法

    这篇文章主要介绍了Python Parser的用法,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下...2021-05-12