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

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

<?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程序设计有所帮助。

(0)

相关推荐

  • PHP清除字符串中所有无用标签的方法

    本文实例讲述了PHP清除字符串中所有无用标签的方法.分享给大家供大家参考.具体实现方法如下: 很多时候需要输出一些 "纯" 字符串,也就是去除任何杂质,例如 Html 标签.空格之类的文本,输出的摘要就是如此,下面的这个函数可以帮你实现着一点. PHP实例代码如下: 复制代码 代码如下: function Bing_string_cleanr( $string ){  $string = trim( $string );   $string = strip_tags( $string

  • php实现修改新闻时删除图片的方法

    本文实例讲述了php实现修改新闻时删除图片的方法.分享给大家供大家参考.具体实现方法如下: //old_contents:待修改的公告内容; //$content:修改后的公告内容 $oldPic=array(); $nowPic=array(); preg_match_all("/\<IMG(.*?)src=\"(.*?)\">/",$old_contents,$match); if(!empty($match[2])){ foreach($match

  • php 删除记录同时删除图片文件的实现代码

    复制代码 代码如下: $cn = mysql_connect('127.0.0.1','root','root') or die('database connect fail'); mysql_select_db('test',$cn); mysql_query("set names 'gbk'"); /* 创建数据库教程 CREATE DATABASE `test` ; 创建数据表 test1 CREATE TABLE `test`.`test1` ( `id` INT( 4 ) N

  • php定时删除文件夹下文件(清理缓存文件)

    那么有没有方法自动清理临时文件夹呢? 以下代码就是一个简单定时清理文件夹下文件的php代码. ps:这个代码如果不重启网站会一直执行下去,所以只用作于本地环境测试,请别在网站上测试. 复制代码 代码如下: <?php ignore_user_abort(); //客户端断开时,可以让脚本继续在后台执行 set_time_limit(0); //忽略php.ini设置的脚本运行时间限制 $interval = 5*60; //设置执行周期,单位为秒,5分钟为 5*60=300 do{ $dir =

  • php网页病毒清除类

    本文实例讲述了php网页病毒清除类.分享给大家供大家参考.具体如下: 相信很多人的网页经常被无故的在php,asp,html,js 等文件后台加上一些木马地址,造成了很大的困扰!我以前有个站就是这样,所以一恨之下写了这段代码,文章虽然有一点浪费资源了,但是总比我们手动清除要好吧,下面我为讲讲程序的清除病毒的原理吧. 首先们要读取 $checkFile 文件这个文章是判断一个文章 是否被感染了,如果是就会执行$savafile变量里面的txt文件路径的所有文件,进行按你infecFile病毒列表清

  • PHP使用正则表达式清除超链接文本

    可以用$str = preg_replace("/<a[^>]*href=[^>]*>|<\/[^a]*a[^>]*>/i","",$strhtml); 这段来实现需求,如果想要更多解决方法,可以参看以下的. 1.删除内容中的超链接 复制代码 代码如下: ereg_replace('<a([^>]*)>([^<]*)</a>','<font color="red"

  • php清除和销毁session的方法分析

    本文实例分析了php清除和销毁session的方法.分享给大家供大家参考.具体分析如下: 下面的代码分别用户删除单个session值和全部session unset() 用于释放一个已经存在的session值.可以使用 session_destroy() 函数销毁全部session. <?php unset($_SESSION['views']); ?> 销毁全部session <?php Session_start(); //... session_destroy(); ?> 希

  • 简单PHP上传图片、删除图片实现代码

    上传图片: 复制代码 代码如下: if (!empty($_FILES["img"]["name"])) { //提取文件域内容名称,并判断 $path="uppic/"; //上传路径 if(!file_exists($path)) { //检查是否有该文件夹,如果没有就创建,并给予最高权限 mkdir("$path", 0700); }//END IF //允许上传的文件格式 $tp = array("image

  • php数据入库前清理 注意php intval与mysql的int取值范围不同

    php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval. 有一天突然想起,php intval的取值范围与mysql的int类型一样吗? 查了一下,不一样-- http://php.net/manual/en/function.intval.phphttp://dev.mysql.com/doc/refman/5.1/zh/column-types.html#numeric-typesphp intval的取值范围:与操作系统相关,

  • PHP清除数组中所有字符串两端空格的方法

    本文实例讲述了PHP清除数组中所有字符串两端空格的方法,分享给大家供大家参考.具体实现方法如下: 一般来说在php中清除字符串中空格我们可以有很多实现方法,但清除数组中所有值的前后代码我们并不能简单的使用这些方法,本文实例主要使用php独有的array_map函数遍历清除数组中所有字符串的两端空格.   具体实现代码如下: 复制代码 代码如下: function TrimArray($Input){     if (!is_array($Input))         return trim($

  • php 文件夹删除、php清除缓存程序

    复制代码 代码如下: <?php header('content-type:text/html;charset=utf-8'); function delFile($fpath) { $filesize = array(); $filepath = iconv('gb2312', 'utf-8', $fpath); if (is_dir($fpath)) { if ($dh = opendir($fpath)) { while (($file = readdir($dh)) !== false)

随机推荐