특정 확장자를 가진 파일삭제 소스입니다만..

특정 확장자를 가진 파일삭제 소스입니다만..

QA

특정 확장자를 가진 파일삭제 소스입니다만..

본문

아래 소스는 폴더내  jpg 확장자를 가진 파일을 삭제하는 소스입니다...  

 

저는 여기다  "파일수정이 30일 이상 지난파일" 이라는 조건을 && 추가하고 싶습니다.

 

계속 해보는 중인데 잘 되질않아서 고수님들께 올렸습니다

 

 

$directory = "./";
$handle = opendir($directory); // 절대경로

while ($file = readdir($handle)) {
    $fileInfo = pathinfo($file);
    $fileExt = $fileInfo['extension']; // 파일의 확장자를 구함

    if($fileExt == "jpg") {
        @unlink($directory.$file);
    }

}
closedir($handle);
 

이 질문에 댓글 쓰기 :

답변 3

아래처럼 해보세요.


while ($file = readdir($handle)) {
  $last_modified_time = filemtime($file);
  $diff = time() - $last_modified_time;
  $days = ceil($diff / 86400);  // 마지막 수정날짜가 몇일 지났는지 $days 에 나옴
  .....
  .....
  if($fileExt == "jpg" && $days > 30) {
    .....
  }
}

채택 답변이 있으나 참고로 추가합니다.


$lists = glob('./*'); // glob('./*', GLOB_NOSORT) // 해당 경로 목록
foreach ( $lists as $list ) { // 개별 반복
    if ( !is_file($list) // 파일 아니면 스킵
        || !preg_match('/\.jpe?g/i', $list) // jpg, jpeg 확장자 아니면 스킵 (대소문자 무시)
        || ceil(($_SERVER['REQUEST_TIME']-filemtime($list))/86400)<30 // 30일 미만이면 스킵
    ) continue;
    unlink($list); // 삭제
}
답변을 작성하시기 전에 로그인 해주세요.
전체 123,161 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT