예를 들면, "C:\Temp\Web\Upload\2010\02\10" 식의 디렉토리에 임시 폴더를 생성하려 한다면, CreateFolder 메소드로는 바로 오류가 발생하게 됩니다. 차례 차례 경로를 들어가면서 해당 디렉토리가 없으면 하나씩
생성해 주어야 되죠. 이를 테면 다음과 같이 만들어야 겠죠.
If not objFSO.FolderExists("C:\Temp") then
위와 같이 해주어야 "C:\Temp\Web\Upload\2010\02\10" 폴더가 원하는 형태로 생성이 됩니다. 하지만 경로가 날짜에 따라서 바뀌므로, 위와 같은 하드 코딩으로는 불가능하죠. 이를 다음과 같은 재귀함수를 사용하면 손쉽게 해결이 됩니다.
If not objFSO.FolderExists("C:\Temp") then Call objFSO.CreateFolder(("C:\Temp") End if If not objFSO.FolderExists("C:\Temp\Web") then Call objFSO.CreateFolder("C:\Temp\Web") End if If not objFSO.FolderExists("C:\Temp\Web\Upload") then Call objFSO.CreateFolder("C:\Temp\Web\Upload") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010\02") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010\02") End if If not objFSO.FolderExists("C:\Temp\Web\Upload2010\02\10") then Call objFSO.CreateFolder("C:\Temp\Web\Upload2010\02\10") End if
재귀함수를 이용하면 정말 간편하게 작업할 수 있습니다. 위 함수를 공통으로 사용하는 파일에 포함시켜 놓으면 유용하게 사용하실 수
있습니다.
[출처] http://hbesthee.tistory.com/archive/201002
'프로그램&DB > ASP' 카테고리의 다른 글
[ASP DEXT] 이미지 썸네일(리사이즈) (0) | 2011.08.11 |
---|---|
ASP LoadPicture 이미지사이즈 (0) | 2011.08.11 |
UTF-8인코딩 및 디코딩 관련 함수 (URLEncodeUTF8,URLDecodeUTF8) (0) | 2011.08.11 |
[ASP] DEXT.FileUpload API (FileUpload, FileDownload, FileUploadMonitor, ImageProc) (0) | 2011.08.11 |
성능 및 스타일 향상에 도움이 되는 28가지 ASP 팁 (0) | 2009.05.04 |