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 imagecreatetruecolor 创建高清和透明图片代码小结
May 15 PHP
PHP计数器的实现代码
Jun 08 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 PHP
PHP获取服务器端信息的方法
Nov 28 PHP
javascript+php实现根据用户时区显示当地时间的方法
Mar 11 PHP
PHP可变函数学习小结
Nov 29 PHP
composer.lock文件的作用
Feb 03 PHP
yii2中dropDownList实现二级和三级联动写法
Apr 26 PHP
php中字符串和整数比较的操作方法
Jun 06 PHP
PHP大文件切割上传并带进度条功能示例
Jul 01 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
Oct 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
Re:从零开始的异世界生活 第2季 开播啦
2020/07/24 日漫
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
关于Blog顶部的滚动导航条代码
2006/09/25 Javascript
js每次Title显示不同的名言
2008/09/25 Javascript
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
Nodejs的express使用教程
2015/11/23 NodeJs
基于Node.js的JavaScript项目构建工具gulp的使用教程
2016/05/20 Javascript
Javascript中构造函数要注意的一些坑
2017/01/23 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
关于微信小程序登录的那些事
2019/01/08 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
python整小时 整天时间戳获取算法示例
2019/02/20 Python
Python实现多进程的四种方式
2019/02/22 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Python csv模块使用方法代码实例
2019/08/29 Python
Python学习笔记之函数的参数和返回值的使用
2019/11/20 Python
Boden美国官网:英伦原创时装品牌
2017/07/03 全球购物
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
Oracle性能调优原则
2012/05/03 面试题
介绍一下如何利用路径遍历进行攻击及如何防范
2014/01/19 面试题
int和Integer有什么区别
2013/05/25 面试题
UNIX命令速查表
2012/03/10 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
年终自我鉴定
2013/10/09 职场文书
英文版网络工程师求职信
2013/10/28 职场文书
计算机专业毕业生推荐信
2013/11/25 职场文书
森林病虫害防治方案
2014/06/02 职场文书
市场营销工作计划书
2014/09/15 职场文书
springboot中的pom文件 project报错问题
2022/01/18 Java/Android
MySQL串行化隔离级别(间隙锁实现)
2022/06/16 MySQL
Django中celery的使用项目实例
2022/07/07 Python