[FileSystemObject를 이용한 폴더(디렉토리) 생성하기]


작성자: 다자래(mfcchang@naver.com)


FileSystemObject를 이용해서 폴더(디렉토리)를 생성하는 짧은 예제입니다. 앞의 몇번의 예제에서도 등장하였지만
FileSystemObject(FSO)를 사용하기 위해서는 CreateObject를 메서드를 사용하여 FileSystemObject를 만들어야
합니다. 아래 박스 참조

Dim Fso '변수를 생성 

Set Fso = Server.CreateObject("Scripting.FileSystemObject") 'FileSystemObject 객체를 생성

.....Fso를 이용한 처리
....

Set Fso = nothing '객체제거


밑에 예제는 "C:\Temp"라는 폴더(디렉토리)의 존재 여부를 검사해서 존재하지 않으면 폴더를 생성하고, 존재하면
"폴더가 존재합니다"라는 메시지를 출력하는 것을 보여주고 있습니다..

<%

Dim Fso, strDir

strDir = "C:\Temp"

Set Fso = Server.CreateObject("Scripting.FileSystemObject") '파일객체 생성

If Not Fso.FolderExists(strDir) Then 'C:\Temp폴더가 존재하지 않으면
strDir = Fso.CreateFolder(strDir) 'C:\Temp폴더를 생성
Response.Write strDir & " 폴더 생성에 성공하였습니다."
Else
Response.Write strDir & " 폴더가 존재합니다."
End If

Set Fso = nothing

%>

2008/02/21 15:57 2008/02/21 15:57

HOWTO: 세션 쿠키를 사용하지 않고 값을 보존하는 방법

출처: Microsoft고객기술지원
URL: http://support.microsoft.com/kb/175167/ko

요약

HTML 양식을 사용하는 웹 사이트를 개발하는 경우 나중에 사용하기 위해 사용자가 입력한 정보를 추적해야 할 수
도 있습니다. 이 작업을 "값 보존"이라고 합니다.
Active Server Pages(ASP)는 이 작업을 편리하게 수행할 수 있는
세션 변수를 제공하지만 이 변수를 사용하려면 세션 ID가 필요합니다. 본 문서에서는 세션 쿠키를 사용하지 않고 양
식 값을 저장하는 방법을 설명합니다.

추가 정보

HTML로 개발할 때 값을 보존하기 위해 일반적으로 아래 세 가지 방법을 사용합니다.

값을 양식의 숨김 필드에 저장
값을 숨김 필드에 저장하면 값은 보이지 않지만 손상되지 않습니다. 사용자가 양식을 전송하면 양식 값이 읽혀진 다음
곧바로 HTML 양식의 숨김 필드에 다시 작성됩니다. 이 값은 그 양식이 전송될 때 다른 필드와 함께 전송됩니다.

아래의 세 페이지는 이 방법에 대한 예를 보여줍니다.

<%@ LANGUAGE="VBSCRIPT" %>
<!-- This is FORM1.HTM -->

<HTML>
<HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
<BODY>
<Form Action=Form2.asp Method=Post>
<Input Type=Text Value="Page1 Value" Name="Value1"><P>

<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM2.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<%
Response.Cookies("Value1") = Request("Value1")
' If you wish to have the value persisted beyond the current visit,
' you must also assign an expiration date as follows:
Response.Cookies("Value1").Expires = "July 31, 1998"
%>
<HTML>
<HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
<BODY>
<Form Action=Form3.asp Method=Post>
<Input Type=Text Value="Page2 Value" Name="Value2"><P>
<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM3.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
<BODY>
Value 1 = <%= Request("Value1") %><BR>
Value 2 = <%= Request("Value2") %><BR>
</BODY>
</HTML>


값을 URL에 추가

이 방법은 첫 번째 방법과 비슷하지만 값을 숨김 변수에 전달하지 않고 대신 URL의 끝에 추가하여 전송합니다. 이 방법의
단점은 브라우저마다 다를 수 있는 URL의 크기 제한에 있습니다. 또한, 개인 정보나 기타 정보가 다른 사용자에게 노출되
기 쉽습니다. 아래의 페이지는 이 방법에 대한 예를 보여줍니다.

<!-- This is FORM1.HTM -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
<BODY>
<Form Action=Form2.asp Method=Post>
<Input Type=Text Value="Page1 Value" Name="Value1"><P>

<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM2.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
<BODY>

<Form Action="Form3.asp?value1=<%=
Server.URLEncode(Request("Value1"))
%>" Method=Post>
<Input Type=Text Value="Page2 Value" Name="Value2"><P>

<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM3.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
<BODY>
Value 1 = <%= Request("Value1") %><BR>
Value 2 = <%= Request("Value2") %><BR>
</BODY>
</HTML>


자신만의 쿠키에 기록

이 방법은 정보를 다시 클라이언트 컴퓨터에 기록해야 하기 때문에 잘 사용되지 않습니다. 이 방법이 일반적인 세션 기반
변수를 사용하는 방법보다 나은 점은 브라우저를 통해 나중에 다시 방문할 수 있도록 정보를 보존한다는 것뿐입니다. 이
때문에 웹 서버에 정보를 유지할 필요성이 줄어듭니다.


<!-- This is FORM1.HTM -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM1.HTM</TITLE></HEAD>
<BODY>
<Form Action=Form2.asp Method=Post>
<Input Type=Text Value="Page1 Value" Name="Value1"><P>
<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM2.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<% Response.Cookies("Value1") = Request("Value1") %>
<HTML>
<HEAD><TITLE>FORM2.ASP</TITLE></HEAD>
<BODY>
<Form Action=Form3.asp Method=Post>
<Input Type=Text Value="Page2 Value" Name="Value2"><P>
<Input Type=Submit Name=btnSubmit>
</Form>
</BODY>
</HTML>

<!-- This is FORM3.ASP -->
<%@ LANGUAGE="VBSCRIPT" %>
<HTML>
<HEAD><TITLE>FORM3.ASP</TITLE></HEAD>
<BODY>
Value 1 = <%= Request.Cookies("Value1") %><BR>
Value 2 = <%= Request("Value2") %><BR>
</BODY>
</HTML>


본 문서의 정보는 다음의 제품에 적용됩니다.
Microsoft Active Server Pages 1.0
Microsoft Visual Studio 97 서비스 팩 3
Microsoft Internet Information Server 4.0
Microsoft Internet Information Services 5.0
2008/02/21 15:57 2008/02/21 15:57

[저장된 html 파일을 이용한 메일 발송하기]

작성자: 다자래(mfcchang@naver.com)


ASP에서 CDONTS를 이용한 메일 발송하기 예제 두번째입니다. 처음에 소개된 예제는 html 이 변하지 않는다는
조건하에 html 태그를 mail이라는 문자열에 담아서 처리하는 방법이였습니다. 아래의 박스는 그 예를 보여주고 있
습니다.

mail = name & "<table width='658' border='0' cellspacing='0' cellpadding='0'>"
mail = mail & "<tr bgcolor='BDBABD'>"
mail = mail & "<td colspan='3' height='1'></td>"
mail = mail & "</tr>"
mail = mail & "<tr>"
mail = mail & "<td bgcolor='BDBABD' width='1'></td>"
mail = mail & "<td width='656'>"
mail = mail & "<table width='656' border='0' cellspacing='0' cellpadding='0'>"
..........................
..........................중간생략
..........................

name = "테스트" '받는고객 이름
Email = "test@testto.co.kr" '받는사람 메일주소
fromMail = "test@test.co.kr" '보낸사람 메일주소

............

content=Replace(Replace(mail,chr(13)&chr(10),""),"[고객이름]",name)

Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From = fromMail
objMail.To = Email
objMail.subject = name &"님께 메일을 보냅니다"
objMail.Body = content

이번에 소개해 드리는 방법은 파일객체를 생성하여 저장되어 있던 html파일을 읽어들여서 처리하는 방법입니다.
html파일의 내용이 변하여도 메일발송에는 아무런 제약이 없습니다. 파일객체가 읽어들일 html파일의 경로만 정확
하다면 바뀐내용 그대로 메일발송이 이루어집니다. 아래 예제는 파일객체를 생성하여 html파일을 읽어들인후 처리
하는 예제입니다.

 

예제 )

<%

Set Fso = Server.CreateObject("Scripting.FileSystemObject") '파일객체 생성
Set objfile = Fso.OpenTextFile("C:\mail\testmail.html",1)

'읽어들인 html파일 열기
mail = Trim(objfile.ReadAll)

name = "고객님" '받는고객 이름
ToMail = "toTest@Test.co.kr" '받는사람 메일주소
fromMail = "fromTest@test.co.kr" '보낸사람 메일주소

content=Replace(Replace(mail,chr(13)&chr(10),""),"[고객이름]",name)

Set objMail = Server.CreateObject("CDONTS.NewMail")
objMail.From = fromMail
objMail.To = ToMail
objMail.subject = "[메일예제입니다.]" '메일제목
objMail.Body = content
objMail.BodyFormat = 0 ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
objMail.MailFormat = 0 ' HTML일떄 0, 일반 Text일때 1 으로 설정한다.
objMail.Send
Set objMail = nothing

%>




2008/02/21 15:57 2008/02/21 15:57

[ASP에서 Redim() 함수를 이용한 동적배열 사용]

 

작성자: 다자래(mfcchang@naver.com)

ASP에서 Redim()함수를 이용한 동적배열 처리의 짧은 예제입니다. Redim()함수는 배열의 크기를 조정할때 쓰며
기존의 배열에 저장된 값은 보존되지 않습니다. 기존 값을 보존하기 위해서는 Redim()함수와 Preserve라는 파라
미터가 함께 사용되어야 합니다. 아래 예제는 100개의 동적배열을 잡고 값을 할당합니다.


<HTML>
<HEAD>
<TITLE>New Document</TITLE>
</HEAD>
<BODY>

<%


Dim nArray()


nCount = 100 '동적배열의 크기'

For i = 0 to nCount
ReDim Preserve nArray(i) 'ReDim()함수와 Preserve 파라미터를 사용
nArray(i) = i '배열에 값을 할당
Next

'배열에 할당된 값을 확인합니다.
For i = 0 to Ubound(nArray)
Response.Write "(" & i & ")의 값: " & nArray(i) & "<br>"
Next


%>

</BODY>
</HTML>

2008/02/21 15:56 2008/02/21 15:56