우리가 사는 세상을 모두 알기엔 인생은 너무 짧다.!!

사이트관리

지정일 이전 파일 삭제 방법 (하위 폴더 포함)

거북선인 2018. 5. 20. 21:32
반응형

가끔 지정일 이전 파일들을 싹 지워야 하는 경우에 사용하면 좋은 소스입니다.

 

$dir : 폴더

$last_date : 년월일

만 지정하면 파일생성일을 비교해서 지정일 이전 파일들은 싹 지워집니다.

 

01$dir  $_SERVER['DOCUMENT_ROOT']."/data/file";
02$dirs = dir($dir);
03$last_date  "20180101";
04$del_size   = 0;
05$total_size = 0;
06$total_cnt  = 0;
07$del_cnt    = 0;
08while(false !== ($entry $dirs->read())) {
09  if(($entry != '.') && ($entry != '..')) {
10   if(is_dir($dir.'/'.$entry)) {
11   $dir2  $dir.'/'.$entry;
12   $dirs2 = dir($dir2);
13   while(false !== ($entry2 $dirs2->read())) {
14    if(($entry2 != '.') && ($entry2 != '..')) {
15     if(is_dir($dir2.'/'.$entry2)) {
16     }else{
17        $file_date2 date("Ymd",filemtime($dir2.'/'.$entry2));
18        $file_size   filesize($dir2.'/'.$entry2);
19        $total_size += $file_size;
20        if ($last_date>$file_date2){
21         $del_size += $file_size;
22         @unlink($dir2.'/'.$entry2);
23         $del_cnt++;
24        }
25        $total_cnt++;
26     }
27    }
28   }
29   else {
30   $file_date date("Ymd",filemtime($dir.'/'.$entry));
31      $file_size   filesize($dir.'/'.$entry);
32      $total_size += $file_size;
33   if ($last_date>$file_date){
34      $del_size += $file_size;
35      @unlink($dir.'/'.$entry);
36      $del_cnt++;
37   }
38      $total_cnt++;
39   }
40  }
41 }
42$dirs->close();
반응형