지정일 이전 파일 삭제 방법 (하위 폴더 포함)
가끔 지정일 이전 파일들을 싹 지워야 하는 경우에 사용하면 좋은 소스입니다.
$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개
게시글 목록
| 번호 | 제목 |
|---|---|
| 24318 | |
| 24317 | |
| 24315 | |
| 24309 | |
| 24294 | |
| 24293 | |
| 24277 | |
| 24262 | |
| 24260 | |
| 24253 | |
| 24251 | |
| 24236 | |
| 24233 | |
| 24228 | |
| 24226 | |
| 24221 | |
| 24214 | |
| 24203 | |
| 24201 | |
| 24199 | |
| 24196 | |
| 24195 | |
| 24194 | |
| 24192 | |
| 24191 | |
| 24187 | |
| 24185 | |
| 24183 | |
| 24172 | |
| 24168 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기