Heim >php教程 >PHP源码 > 图片自动清理程序

图片自动清理程序

PHP中文网
PHP中文网Original
2016-05-25 17:08:371499Durchsuche

 图片自动清理程序

<?php 
/** 
 * 图片清理计划程序,删除文件下两周没有访问的文件 
 */ 
$sRootPath = dirname(__FILE__); 
//define(TIME_LINE ,"-7 day");  //删除几天没有访问图片的时间 
$dir = $sRootPath .DIRECTORY_SEPARATOR.&#39;upload&#39;; 
$iTimeLine = strtotime("-7 day"); 
//$iTimeLine = time(); 
$sHandDate = date("Ymd"); 
$sLogDir = dirname(__FILE__).DIRECTORY_SEPARATOR.&#39;Imglog&#39;; 
$sLog = $sLogDir.DIRECTORY_SEPARATOR.$sHandDate.&#39;.txt&#39;; 
if(!file_exists($sLogDir)) mkdir($sLogDir, 0777,true); 
_clearFile($dir , $iTimeLine, $sLog); 
$sEnd = &#39;AT&#39;."\t" .date("Y-m-d H:i:s")."\t".&#39;EXEC OVER&#39;."\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 == &#39;.&#39; || $fn ==&#39;..&#39;) continue; 
$sFilePath = $sPath.DIRECTORY_SEPARATOR.$fn; 
_clearFile($sFilePath ,$iTimeLine, $sLog); 
} 

}else{ 
if($sPath != &#39;.&#39; && $sPath != &#39;..&#39;){ //. ..文件直接跳过,不处理 
$iLastView = fileatime($sPath); 
if($iLastView < $iTimeLine){ 
if(@unlink($sPath) === true){ 
//echo date("Y-m-d H:i:s").&#39;成功删除文件&#39;.$sPath; 
//file_put_contents($sLog,&#39;success del file :&#39;.$sPath."\n",  FILE_APPEND); 
//exit; 
$str =date("Y-m-d H:i:s")."\t".&#39;success del file :&#39;.&#39;[&#39;.$sPath.&#39;]&#39;."\n"; 
error_log($str, 3, $sLog); 
//exit; 
} 
} 
} 

}  


} 
?>

1. 代码

<?php
/**
 * 图片清理计划程序,删除文件下两周没有访问的文件
 */
$sRootPath = dirname(__FILE__);
//define(TIME_LINE ,"-7 day");  //删除几天没有访问图片的时间
$dir = $sRootPath .DIRECTORY_SEPARATOR.&#39;upload&#39;;
$iTimeLine = strtotime("-7 day");
//$iTimeLine = time();
$sHandDate = date("Ymd");
$sLogDir = dirname(__FILE__).DIRECTORY_SEPARATOR.&#39;Imglog&#39;;
$sLog = $sLogDir.DIRECTORY_SEPARATOR.$sHandDate.&#39;.txt&#39;;
if(!file_exists($sLogDir)) mkdir($sLogDir, 0777,true);
_clearFile($dir , $iTimeLine, $sLog);
$sEnd = &#39;AT&#39;."\t" .date("Y-m-d H:i:s")."\t".&#39;EXEC OVER&#39;."\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 == &#39;.&#39; || $fn ==&#39;..&#39;) continue;
            $sFilePath = $sPath.DIRECTORY_SEPARATOR.$fn;
            _clearFile($sFilePath ,$iTimeLine, $sLog);
        }
         
    }else{      
        if($sPath != &#39;.&#39; && $sPath != &#39;..&#39;){ //. ..文件直接跳过,不处理
            $iLastView = fileatime($sPath);
            if($iLastView < $iTimeLine){
                if(@unlink($sPath) === true){
                    //echo date("Y-m-d H:i:s").&#39;成功删除文件&#39;.$sPath;                 
                    //file_put_contents($sLog,&#39;success del file :&#39;.$sPath."\n",  FILE_APPEND);
                    //exit;
                    $str =date("Y-m-d H:i:s")."\t".&#39;success del file :&#39;.&#39;[&#39;.$sPath.&#39;]&#39;."\n";
                    error_log($str, 3, $sLog);
                    //exit;
                }
            }
        }
         
    } 
         
     
}
?>


 以上就是 图片自动清理程序的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn