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

图片自动清理程序

PHP中文网
PHP中文网asal
2016-05-25 17:08:371492semak imbas

 图片自动清理程序

<?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)!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn