[upload_ok.asp] ▶▶다운로드
<%
Set UploadForm = Server.CreateObject("SiteGalaxyUpload.Form")
up_dir = Request.ServerVariables("APPL_PHYSICAL_PATH")
& "upload\"
'반드시 upload 라는 디렉토리가 생성돼 있어야 한다.
cur_file = UploadForm("filename")
if cur_file <> "" then
'파일 첨부가 되었으면
filename = Mid(cur_file, InstrRev(cur_file, "\")
+ 1)
' 파일이름만 뽑아 냅니다. ex) write.asp
pre_filename = Left(filename, InstrRev(filename ,
".")-1)
' 파일 확장자를 제거한 파일 이름을 구함. ex) write
tail_filename = Mid(filename ,InstrRev(filename ,
".")+1)
'확장자를 구함. ex) asp
if tail_filename = "asp" then
tail_filename = "html"
filename = pre_filename & "." & tail_filename
end if
stored_full_name = up_dir & filename
' 저장할 이름의 전체 path를 만듭니다. ex) c:\inetpub\upload\write.asp
' 아래부터는 파일 중복 검사 이다.
' MS에서 제공하는 파일 관련 기본 콤포넌트를 생성
Set fso = CreateObject("Scripting.FileSystemObject")
' 우선 파일이 존재한다고 가정
bExist = True
' 저장할 파일의 완전한 이름을 만듦
strFileNameTemp = stored_full_name
' 파일이 존재할 경우, 이름 뒤에 붙일 숫자를 세팅함.
countfilename = 0
While bExist = True ' 우선 있다고 생각함.
If (fso.FileExists(strFileNameTemp )) Then
' 파일이 있으면, 여기로 들어 옵니다.
'파일 이름에 숫자를 붙인 새로운 파일 이름 생성
countfilename = countfilename + 1
strFileNameTemp = up_dir & pre_filename & countfilename
& "." & tail_filename
else ' 파일이 없으면 여기로 오지요.
' 여기에서 처음의 경우에 대한 처리(즉 같은 이름의 파일이 없는 경우)가
' 들어가야 합니다.
if countfilename <> 0 then
pre_filename = pre_filename & countfilename 'ex)
write2
filename = pre_filename & "." & tail_filename
'ex) write2.asp
end if
'실제 저장할 파일이름을 표시하기 위해...
bExist = False
' 파일이 존재하지 않으므로.
End If
Wend
Set fso = nothing
'Scripting.FileSystemObject를 닫아줌.
UploadForm("filename").SaveAs(strFileNameTemp)
' 파일을 실제로 저장한다.
response.write(filename & "으로 저장완료")
else
response.write("파일이 없습니다.")
end if
Set UploadForm = nothing 'Nothing Object
%>
#####################################################################
|