오랜만에 PHP로 간단한 사이트를 개발하고 있습니다. 이미지를 변환하고 다운로드하는 사이트인데요. 이미지를 업로드 후 필요가 없는 임시파일을 삭제하는 기능을 구현하고 싶었습니다.
사용자별 아이디 혹은 세션 값으로 폴더를 만들고 이미지를 업로드하는 기능까지 구현을 하였는데, PHP에서는 윈도 탐색기의 삭제처럼 폴더 자체를 삭제하는 기능은 별도로 지원을 하지 않았습니다.
리눅스의 명령어를 지원을 하고는 있는데, 딱 1가지 기능들만 가지고 있더군요. 해당 폴더내 파일 삭제와 폴더 삭제였습니다.
조금 검색을 해보니 재귀 함수를 호출해서 하위 폴더까지 삭제할 수 있게 만들어 놓은 자료가 있었습니다.
비슷한 자료들을 여러 가지를 찾아보았는데, 폴더 안의 폴더 및 파일을 삭제 처리하는 건 아래 소스가 유일하였습니다.
PHP에서 일괄 폴더 및 파일 삭제를 할 경우 참고하시기 바랍니다.
참고 소스
//하위폴더 디렉토리 정리
function deldir($dir){
$handle = opendir($dir);
while(false!==($FolderOrFile=readdir($handle))){
if($FolderOrFile !="." && $FolderOrFile != ".."){
if(is_dir("$dir/$FolderOrFile")){
deldir("$dir/$FolderOrFile");
}else{
unlink("$dir/$FolderOrFile");
}
}
}
closedir($handle);
if(rmdir($dir)){
$success=true;
}
return $success;
}
소스에 대해서 간략하게 말씀드리면 반복문을 통해서 하위 폴더 여부를 확인하고 파일들을 삭제, 폴더 삭제를 반복하면서 폴더 아래 모든 내용을 삭제 처리하는 것을 구현하고 있습니다.
'IT정보센터 > PHP' 카테고리의 다른 글
PHP 폼전송에서 한글깨질때 해결방법 (0) | 2022.12.21 |
---|---|
PHP에서 Node.js를 실행하는 방법, 간단하게 실행하는 명령어 (0) | 2022.06.24 |
php <?php 를 <? 로 사용하는 짧은태그 (0) | 2021.07.12 |
Centos7에서 php 5.4 에서 5.6으로 업그레이드 하는 방법 안내 (0) | 2021.07.10 |
PHP에서 주석을 제거하는 정규식 (0) | 2019.06.06 |
PHP 응답대기(실행 지연) 하는 방법 (0) | 2018.03.18 |
PHP 현재시간 표기방법총정리 (2) | 2017.06.27 |
PHP 지시자 사용법 (0) | 2017.03.11 |
[PHP기초] PHP MYSQL 데이터베이스연결 (0) | 2016.07.13 |
PHP include 와 require 차이 (0) | 2016.04.26 |