php清空日志权限怎么取消,php删除日志文件

5268f80b9b1e01f982625ef6fac83ca1.png

就是现在我有一个存放日志的文件夹,需要怎么做才能用程序做到将较早的日志文件进行删除?大神们有方法么?

回复讨论(解决方案)

foreach(glob('日志文件目录/*.*') as $fn) { if(filemtime($fn) < 指定的时间) unlike($fn);}

可以写个脚本删呢,一天跑一次检查过期(比对当前时间和日志的最后修改时间或者创建时间)的日志文件给予删除

脚本的话比如这样,删除内容修改超过7天的文件find ./ -mtime +7 | xargs rm -rf

是要用php完成这个工作呢,就是我有百度看有提供将文件夹里面的文件按照时间进行排序,但是我使用了都是不可以的。。。

这是我的代码

学习了。。。。

array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序

$files 在哪里赋值的?

array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序

$files 在哪里赋值的?

我查了下函数的用法,知道了array_multisort函数的用法,最后一个给的参数应该是一个数组,但是我不知道怎么给第四个参数赋值。$files应该是指文件里面的所有文件,我不知道怎么去使用。。$files=$return[] = $url.'/'.$file;?

我把$files改成了$return还是没有用。。。

函数可改写为function dir_size($dir,$url){ $dh = @opendir($dir); //打开目录,返回一个目录流 $return = array(); $i = 0; while($file = @readdir($dh)){ //循环读取目录下的文件 if($file!='.' and $file!='..'){ $path = $dir.'/'.$file; //设置目录,用于含有子目录的情况 if(is_dir($path)){ }elseif(is_file($path)){ $files[] = array( 'filename' => $path,//获取文件名称 'filesize' => round((filesize($path)/1024),2),//获取文件大小 'filetime' => date("Y-m-d H:i:s",filemtime($path)),//获取文件最近修改日期 'return' => $url.'/'.$file ); $filetime[] = filemtime($path);//获取文件最近修改日期 } } } @closedir($dh); //关闭目录流 array_multisort($filetime,SORT_DESC,SORT_STRING, $files);//按时间排序 return $files; //返回文件}

恩恩,我用了您的代码,发现可以使用的。

然后我发现还有一种方式就是直接把$files放在替换成$return,因为之前的数据都是存在return里面的。

1428d0e076c3959ab11d28a39bc84fab.png

5268f80b9b1e01f982625ef6fac83ca1.png

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值