重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

php如何删除3天前的数据

这篇文章主要介绍了php如何删除3天前的数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

创新互联是一家专注于成都网站设计、网站制作与策划设计,东安网站建设哪家好?创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:东安等地区。东安做网站价格咨询:13518219792

php删除3天前数据的方法:1、通过“date('Ymd',strtotime('-3 days'));”获取三天前的日期;2、通过“unlink($file_name);”删除三天前的文件即可。

本文操作环境:Windows7系统、PHP7.1版,Dell G3电脑

php怎么删除3天前的数据?

PHP每天数据写当天文件,第二天读取,和删除三天前的文件

关于这个脚本,我思路是文件名直接用当天的日期,之后读取文件和删除文件就很方便了。如:20190218.txt

关于时间的处理:获取当前时间可以使用date()函数,获取到的是当前的时间戳,如果想显示日期可以给里面加参数,参数规定时间显示的格式,如data("Ymd"),是本次我使用的日期格式,输出的数据就是"20190218"这样;date("Y-m-d")是"2019-02-18";如果还要显示具体的时间,date("Y-m-d H:i:s"),结果如"2019-02-18 10:51:26"。关于获取前几天或后几天的时间,可以使用strtotime()方法。这个方法的作用是将英文文本日期时间解析为 Unix 时间戳。使用方法如:date("Ymd",strtotime("-1 day");获取昨天的日期,若是获取三天前的,则把"-1 day"换成"-3 days"即可;当然,也可以把day换成mouth,week,hour,year等,前面是“-”表示前几天或几小时,“+”表示后几天或几小时的时间。由于它是按时间戳算,所以只能计算1970年之前的。自 January 1 1970 00:00:00 GMT 起的秒数。

$date = date("Ymd");
$file_name = '/tmp/'.$date.'.txt';

以上代码是获取当前时间并生成文件名的部分,文件存在/tmp目录下。

PHP写文件:写文件需要一条数据写一行,最开始使用的是file_put_contents(),用于把一个字符串写入文件中。这个方法的语法是:

file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

参数的含义分别是:

php如何删除3天前的数据

为了避免出错,数据写入前都先使用json_encode编码为json字符串。使用file_put_contents方法写入数据,后面势必要加FILE_APPEND,但是数据会直接跟在后面,读取的时候读取一行数据会把整个文件作为一行数据都读出来,而不是取一条。解决的办法是每行数据后都加入一个换行符。后面发现了PHP更为方便的一个文件处理方法,就不再用这个方法。

$fp = fopen($file_name,'a'); //打开文件,生成文件句柄,如果文件不存在则新建。
fwrite($fp,json_encode($log)."\n"); //写入数据
fclose($fp); //关闭文件

PHP读取文件:使用的方法是fgets(),该方法一次读取一行数据。

$date = date('Ymd',strtotime('-1 day')); //获取前一天的日期
$file_name = '/tmp/'.$date.'.txt'; //前一天的文件名
if(file_exists($file_name)) {
    $fp = fopen($file_name, "r");
    while (!feof($fp)) {
        $log = fgets($fp);
        $log = json_decode($log, true);
        ...
        //使用读取的数据,记得判空,最后一行是个换行符
        ...
        }

    fclose($fp);
}

PHP删除文件:使用unlink方法,若成功,则返回 true,失败则返回 false。

php如何删除3天前的数据

$date = date('Ymd',strtotime('-3 days')); //获取三天前的日期
$file_name = '/tmp/'.$date.'.txt'; //三天前的文件名
if(file_exists($file_name)){
    unlink($file_name); //删除文件
}

感谢你能够认真阅读完这篇文章,希望小编分享的“php如何删除3天前的数据”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!


分享名称:php如何删除3天前的数据
链接地址:http://cqcxhl.cn/article/jpspho.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP