龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

图片自动清理程序 - PHP

时间:2014-07-22 14:49来源: 作者: 点击:
分享到:
图片自动清理程序 - PHP
图片自动清理程序 - 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;
                }
            }
        }
          
    }
          
      
}
?>
精彩图集

赞助商链接