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设计聊天室步步通
Oct 09 PHP
PHP中Session的概念
Oct 09 PHP
非常不错的MySQL优化的8条经验
Mar 24 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
Jun 25 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
php中多维数组按指定value排序的实现代码
Aug 19 PHP
php性能分析之php-fpm慢执行日志slow log用法浅析
Oct 17 PHP
PHP魔术方法以及关于独立实例与相连实例的全面讲解
Oct 18 PHP
Yii2实现UploadedFile上传文件示例
Feb 15 PHP
实例分析PHP中PHPMailer发邮件
Dec 13 PHP
PHP中用Trait封装单例模式的实现
Dec 18 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多次include后导致全局变量global失效的解决方法
2015/02/28 PHP
关于laravel 子查询 &amp; join的使用
2019/10/16 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
javascript页面渲染速度测试脚本分享
2014/04/15 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
概述如何实现一个简单的浏览器端js模块加载器
2016/12/07 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
Angular2-primeNG文件上传模块FileUpload使用详解
2017/01/14 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
jQuery实现QQ空间汉字转拼音功能示例
2017/07/10 jQuery
node中使用es5/6以及支持性与性能对比
2017/08/11 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
JS document对象简单用法完整示例
2020/01/14 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
详解使用Python处理文件目录的相关方法
2015/10/16 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
PyCharm2019安装教程及其使用(图文教程)
2019/09/29 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
使用Tkinter制作信息提示框
2020/02/18 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
戴森英国官网:Dyson英国
2019/05/07 全球购物
生物科学系大学生的自我评价
2013/12/20 职场文书
银行求职自荐书
2014/06/25 职场文书
超市创意活动方案
2014/08/15 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
为什么MySQL选择Repeatable Read作为默认隔离级别
2021/07/26 MySQL