欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

图片自动清理程序

程序员文章站 2022-05-28 15:09:58
...
图片自动清理程序
<?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; 
} 
} 
} 

}  


} 
?>

1. 代码

<?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中文网(www.php.cn)!

相关标签: 图片 自动清理