Home > Backend Development > PHP Tutorial > PHP怎么实现图片自动清理功能

PHP怎么实现图片自动清理功能

PHPz
Release: 2020-09-04 16:20:10
Original
1492 people have browsed it

PHP实现图片自动清理功能的方法:首先删除访问图片的时间;然后传入需要清理的文件的路径;最后实现【_clearFile】方法进行清除文件操作即可。

PHP怎么实现图片自动清理功能

PHP怎么实现图片自动清理?

PHP实现图片自动清理的方法

本文实例讲述了PHP实现图片自动清理的方法。分享给大家供大家参考。具体实现方法如下:

<?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;
    }
   }
  }
 }
}
?>
Copy after login

更多相关知识,请访问PHP中文网

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template