Home  >  Article  >  Backend Development  >  PHP automatically cleans up image resources

PHP automatically cleans up image resources

*文
*文Original
2017-12-26 17:04:371549browse

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;
    }
   }
  }
 }
}
?>

相关推荐:

php 文件锁定写入

PHP 文件本身操作

php 文件夹操作

The above is the detailed content of PHP automatically cleans up image resources. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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