[ASP] VBScript와 JScript 공존하기

다음과 같은 asp 파일이 있다고 하자. 결과는 어떻게 찍힐까?
<script language=”vbscript” runat=”server”>
Response.Write “VBScript “
</script>
<script language=”javascript” runat=”server”>
Response.Write(“JScript “)
</script>

JScript VBScript 라고 화면에 찍힌다. JScript가 소스의 뒤에 나오지만 먼저 실행이 된다.

[vbscript] 문자열 앞,뒤의 White Space를 제거하는 TrimEx 함수

VBScript의 문자열 처리 함수 중 Trim이란게 있다. 문자열 앞,뒤의 스페이스를 제거해주는 함수이다. 이 함수는 스페이스만 제거를 해서 스페이스 외에 탭, 뉴라인 등도 같이 제거를 해주는 함수가 필요했다. 다음의 TrimEx 함수이다.

Function TrimEx(sStr)
 Dim oRegExp, sBuffer


 Set oRegExp = New RegExp
 oRegExp.Pattern = “^\s*”
 sBuffer = oRegExp.Replace(sStr, “”)


 oRegExp.Pattern = “\s*$”
 sBuffer = oRegExp.Replace(sBuffer, “”)


 Set oRegExp = Nothing


 TrimEx = sBuffer
End Function

[ASP] 원격 웹서버에 파일이 존재하는지 체크하는 함수 HttpFileExists

지정 URL에 해당하는 파일이 존재하는지 체크하는 HttpFileExists 함수를 만들어 봤다. 파일이 존재하는 경우 파일의 내용을 모두 가지고 오는 방법은 파일의 용량이 큰 경우 성능에 문제가 된다. 성능향상을 위해서 If-Modified-Since 헤더를 이용, 존재 여부만 파악하는 방법을 썼다.

<%
Option Explicit

If HttpFileExist("http://www.ecplaza.net/images/1pixel.gif") Then
    Response.Write "File exists"
Else
    Response.Write "File doesn't exist"
End If

Function HttpFileExist(sUrl)
    Dim oHttp

    set oHttp = Server.CreateObject("MSXML2.ServerXMLHTTP")
    oHttp.Open "GET", sUrl, False

    oHttp.setRequestHeader "If-Modified-Since", DateToHTTPDate(DateAdd("h", -1, Now))
    oHttp.Send ""

    If oHttp.status < 400 Then
        HttpFileExist = True
    Else
        HttpFileExist = False
    End If

    Set oHttp = Nothing
End Function

''
' Converts date (19991022 11:08:38)
' to http form (Fri, 22 Oct 1999 12:08:38 GMT)
Function DateToHTTPDate(ByVal OleDATE)
    Const GMTdiff = #09:00:00#
    OleDATE = OleDATE - GMTdiff
    DateToHTTPDate = engWeekDayName(OleDATE) & _
        ", " & Right("0" & Day(OleDATE),2) & " " & engMonthName(OleDATE) & _
        " " & Year(OleDATE) & " " & Right("0" & Hour(OleDATE),2) & _
        ":" & Right("0" & Minute(OleDATE),2) & ":" & Right("0" & Second(OleDATE),2) & " GMT"
End Function

Function engWeekDayName(dt)
    Dim Out
    Select Case WeekDay(dt,1)
        Case 1:Out="Sun"
        Case 2:Out="Mon"
        Case 3:Out="Tue"
        Case 4:Out="Wed"
        Case 5:Out="Thu"
        Case 6:Out="Fri"
        Case 7:Out="Sat"
    End Select
    engWeekDayName = Out
End Function

Function engMonthName(dt)
    Dim Out
    Select Case Month(dt)
        Case 1:Out="Jan"
        Case 2:Out="Feb"
        Case 3:Out="Mar"
        Case 4:Out="Apr"
        Case 5:Out="May"
        Case 6:Out="Jun"
        Case 7:Out="Jul"
        Case 8:Out="Aug"
        Case 9:Out="Sep"
        Case 10:Out="Oct"
        Case 11:Out="Nov"
        Case 12:Out="Dec"
    End Select
    engMonthName = Out
End Function

%>

관련글 : ASP에서 MSXML2.ServerXMLHTTP 사용하여 원격 웹서버 내용 갖고 오기