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 相关文章推荐
基于PHP服务端图片生成缩略图的方法详解
Jun 20 PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 PHP
PHP制作图形验证码代码分享
Oct 23 PHP
推荐几个开源的微信开发项目
Dec 28 PHP
php从完整文件路径中分离文件目录和文件名的方法
Mar 13 PHP
PHP二维数组排序简单实现方法
Feb 14 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现的猴王算法(猴子选大王)示例
Apr 30 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
Mar 18 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
Jul 03 PHP
PHP 图片处理
Sep 16 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+DBM的同学录程序(4)
2006/10/09 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
2014/08/18 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
Windows系统下使用Sublime搭建nodejs环境
2015/04/13 NodeJs
移动端JQ插件hammer使用详解
2015/07/03 Javascript
快速学习jQuery插件 Cookie插件使用方法
2015/12/01 Javascript
返回函数的JavaScript函数
2016/06/14 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
深入理解vue $refs的基本用法
2017/07/13 Javascript
如何理解Vue的render函数的具体用法
2017/08/30 Javascript
微信小程序request请求后台接口php的实例详解
2017/09/20 Javascript
js中事件对象和事件委托的介绍
2019/01/21 Javascript
Angular7中创建组件/自定义指令/管道的方法实例详解
2019/04/02 Javascript
微信小程序多列表渲染数据开关互不影响的实现
2020/06/05 Javascript
pyramid配置session的方法教程
2013/11/27 Python
举例讲解Python中is和id的用法
2015/04/03 Python
使用Python求解最大公约数的实现方法
2015/08/20 Python
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
python中map()与zip()操作方法
2016/02/27 Python
利用python画一颗心的方法示例
2017/01/31 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Python发送邮件封装实现过程详解
2020/05/09 Python
命名空间(namespace)和程序集(Assembly)有什么区别
2015/09/25 面试题
个人自我评价分享
2013/12/20 职场文书
军训生自我鉴定范文
2013/12/27 职场文书
上党课的心得体会
2014/09/02 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
财务人员个人工作总结
2015/02/27 职场文书