회원(user) 데이터 저장용 디렉토리 만드는 함수
비교적 간단한 형태의 회원 데이터를 저장하는 경우의 디렉토리를 만들어주는 함수 입니다.
일반적으로 회원이나 어떤 자료의 경우 숫자를 자지고 있는 번호가 있습니다.
데이터를 저장할때는 한 디렉토리에 너무 많이 들어가면 문제가 발생 할 수 있으니 하위 디렉토리로 구분하여 저장을 하면 좋습니다.
Func _CreateUserDir( $sUser )
;ConsoleWrite(@YEAR & @CRLF)
;ConsoleWrite(@YEAR & '-' & @MON & '-' & @MDAY & ' ' & @HOUR & ':' & @MIN & ':' & @MSEC & '.' & @MSEC & @CRLF)
Local $DIR_ROOT = @ScriptDir & '\userdir'
Local $DIR_YEAR = $DIR_ROOT & '\' & @YEAR
Local $DIR_YMD = $DIR_YEAR & '\' & @YEAR & '_' & @MON & '_' & @MDAY
If Not FileExists($DIR_YEAR) Then DirCreate($DIR_YEAR)
If Not FileExists($DIR_YMD) Then DirCreate($DIR_YMD)
; 사용자가 많을 경우는 좀 더 세부적으로 디렉토리를 나눌 필요가 있다
;
$userDir = $DIR_YMD & '\' & $sUser
$userImg = $userDir & '\' & $sUser . '.jpg'
If Not FileExists($userDir) Then DirCreate($userDir)
; filewrite는 이어쓰기
$sResponse = _WD_Screenshot($WD_SESSION, '', 2)
If FileExists($userImg) Then FileDelete($userImg)
$isFwrite = FileWrite($userImg, $sResponse)
EndFunc
여기에선 디렉토리 구분하여 저장하는 부분은 들어가 있지않지만
최소 한번이라도 하위 디렉토리 구분하여 저장할 필요는 있을 것입니다.
그리고 filewrite는 fopen 형태로 열면서 지정을 하거나 하지 않으면 기본적으로 이어쓰기가 됩니다.
기본 디폴트가 PHP의 file_put_contents 처럼 덮어 쓰기 하면 좋을 텐데요. 오토잇에선 이어쓰기가 기본 입니다.
그래서 삭제 하는부분이 들어가 있는데 파일 닫기 까지 넣어주고 삭제 하는 부분을 없애는 것도 문제 되지 않습니다.