temp 폴더의 기간 지난 파일 삭제 하기

munilive
Written by munilive on (Updated: )

지정한 폴더안 파일들 중에 지정한 날짜 이전의 자료들은 모두 삭제 하도록 하는 함수이다.

파일이 생성된 날짜를 비교하여 삭제하기 때문에 temp 폴더 등에서 임시적으로 사용되고나서 특정기간이 지난이후에 삭제 하도록 하기 위하여 사용하면 좋다.

function DeleteOldTempFiles($tempfile_path, $time) {
    if(is_dir($tempfile_path)) {
        if($dh = opendir($tempfile_path)) {
            while(($file = readdir($dh)) !== false) {
                if($file != "." && $file != "..") {
                    $dest_path = "{$tempfile_path}/{$file}";
                    if(is_dir($dest_path)) {
                        DeleteOldTempFiles($dest_path, $time);
                    } else {
                        $fat = filemtime($dest_path);
                        if($fat < $time) {
                            @unlink($dest_path);
                        }
                    }
                }
            }
            closedir($dh);
        }
    }
}

/*
경로 및 시간값을 넘겨주며, 시간은 타임스템프 이다.
DeleteOldTempFiles($tempfile_path, strtotime("- 1 days"));
*/

Comments

comments powered by Disqus