PHP实现图片自动清理的方法


Posted in PHP onJuly 08, 2015

本文实例讲述了PHP实现图片自动清理的方法。分享给大家供大家参考。具体实现方法如下:

<?php
/**
 * 图片清理计划程序,删除文件下两周没有访问的文件
 */
$sRootPath = dirname(__FILE__);
//define(TIME_LINE ,"-7 day");
//删除几天没有访问图片的时间
$dir = $sRootPath .DIRECTORY_SEPARATOR.'upload';
$iTimeLine = strtotime("-7 day");
//$iTimeLine = time();
$sHandDate = date("Ymd");
$sLogDir = dirname(__FILE__).DIRECTORY_SEPARATOR.'Imglog';
$sLog = $sLogDir.DIRECTORY_SEPARATOR.$sHandDate.'.txt';
if(!file_exists($sLogDir)) mkdir($sLogDir, 0777,true);
_clearFile($dir , $iTimeLine, $sLog);
$sEnd = 'AT'."\\t" .date("Y-m-d H:i:s")."\\t".'EXEC OVER'."\\n";
echo $sEnd;
error_log($sEnd, 3, $sLog);
/**
 * 清除文件操作,传入需要清除文件的路径
 * @param unknown_type $sPath
 */
function _clearFile($sPath, $iTimeLine, $sLog){
 if(is_dir($sPath)){
  $fp = opendir($sPath);
  while(!false == ($fn = readdir($fp))){
   if($fn == '.' || $fn =='..') continue;
   $sFilePath = $sPath.DIRECTORY_SEPARATOR.$fn;
   _clearFile($sFilePath ,$iTimeLine, $sLog);
  }
 }else{  
  if($sPath != '.' && $sPath != '..'){
  //. ..文件直接跳过,不处理
   $iLastView = fileatime($sPath);
   if($iLastView < $iTimeLine){
    if(@unlink($sPath) === true){
     //echo date("Y-m-d H:i:s").'成功删除文件'.$sPath;
     //file_put_contents($sLog,'success del file :'.$sPath."\\n", FILE_APPEND);
     //exit;
     $str =date("Y-m-d H:i:s")."\\t".'success del file :'.'['.$sPath.']'."\\n";
     error_log($str, 3, $sLog);
     //exit;
    }
   }
  }
 }
}
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
经典的PHPer为什么被认为是草根?
Apr 02 PHP
php 全局变量范围分析
Aug 07 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
May 05 PHP
ThinkPHP模板范围判断输出In标签与Range标签用法详解
Jun 30 PHP
php+mysql大量用户登录解决方案分析
Dec 29 PHP
php 使用html5实现多文件上传实例
Oct 24 PHP
详解Yii2 之 生成 URL 的方法
Jun 16 PHP
PHP中rename()函数的妙用讲解
Feb 28 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 PHP
Laravel-admin之修改操作日志的方法
Sep 30 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
php-redis中的sort排序函数总结
Jul 08 #PHP
PHP通过串口实现发送短信
Jul 08 #PHP
PHP使用CURL模拟登录的方法
Jul 08 #PHP
一个PHP实现的轻量级简单爬虫
Jul 08 #PHP
PHP设置进度条的方法
Jul 08 #PHP
smarty内部日期函数html_select_date()用法实例分析
Jul 08 #PHP
php类的定义与继承用法实例
Jul 07 #PHP
You might like
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
php中获取远程客户端的真实ip地址的方法
2011/08/03 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
关于php循环跳出的问题
2013/07/01 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
判断数组的最佳方法(推荐)
2016/10/11 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
Vue.js鼠标悬浮更换图片功能
2017/05/17 Javascript
javaScript和jQuery自动加载简单代码实现方法
2017/11/24 jQuery
详解vue-router 命名路由和命名视图
2018/06/01 Javascript
angularjs的单选框+ng-repeat的实现方法
2018/09/12 Javascript
解决JavaScript中0.1+0.2不等于0.3问题
2018/10/23 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
详解如何理解vue的key属性
2019/04/14 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
javaScript 实现重复输出给定的字符串的常用方法小结
2020/02/20 Javascript
JavaScript实现答题评分功能页面
2020/06/24 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
Python实现备份文件实例
2014/09/16 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
Numpy的简单用法小结
2019/08/28 Python
Python:二维列表下标互换方式(矩阵转置)
2019/12/02 Python
使用css创建三角形 使用CSS3创建3d四面体原理及代码(html5实践)
2013/01/06 HTML / CSS
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
法学专业应届生求职信
2013/10/16 职场文书
中学生学习生活的自我评价
2013/10/26 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
分析MySQL抛出异常的几种常见解决方式
2021/05/18 MySQL
Python爬虫中urllib3与urllib的区别是什么
2021/07/21 Python
Python torch.flatten()函数案例详解
2021/08/30 Python
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs