테스트 사이트 - 개발 중인 베타 버전입니다

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

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

 

$dir : 폴더

$last_date : 년월일

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

 

[code]

$dir  = $_SERVER['DOCUMENT_ROOT']."/data/file";
$dirs = dir($dir);
$last_date  = "20180101";
$del_size   = 0;
$total_size = 0;
$total_cnt  = 0;
$del_cnt    = 0;
while(false !== ($entry = $dirs->read())) {
  if(($entry != '.') && ($entry != '..')) {
   if(is_dir($dir.'/'.$entry)) {

   $dir2  = $dir.'/'.$entry;
   $dirs2 = dir($dir2);
   while(false !== ($entry2 = $dirs2->read())) {

    if(($entry2 != '.') && ($entry2 != '..')) {

     if(is_dir($dir2.'/'.$entry2)) {
     }else{
        $file_date2 = date("Ymd",filemtime($dir2.'/'.$entry2));
        $file_size   = filesize($dir2.'/'.$entry2);
        $total_size += $file_size;
        if ($last_date>$file_date2){
         $del_size += $file_size;
         @unlink($dir2.'/'.$entry2);
         $del_cnt++;
        }
        $total_cnt++;
     }
    }
   }
   } else {
   $file_date = date("Ymd",filemtime($dir.'/'.$entry));
      $file_size   = filesize($dir.'/'.$entry);
      $total_size += $file_size;
   if ($last_date>$file_date){
      $del_size += $file_size;
      @unlink($dir.'/'.$entry);
      $del_cnt++;
   }
      $total_cnt++;
   }
  }
 }
$dirs->close();

[/code]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 4개

유용한 정보, 감사합니다.
감사합니다 ^^
지정일 이전 파일 삭제 방법 (하위 폴더 포함)

게시판 목록

그누보드5 팁자료실

글쓰기