게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
조언 좀 부탁 드립니다. |
---|
작성자: 궁금이
작성일시: 2004-11-23 09:52,
조회수: 938
|
조언 좀 부탁 드립니다.
아래의 소스는 어제 부터 제가 송원석님을 귀찮게 한 소스 입니다. 우선 HTML 파일을 업로드 해서 그 파일을 FSO로 읽어서 HTML 문서 중 본문 내용 즉 Body 태그 부분만 읽어서 DB에 저장 하는 방식 입니다. 조언을 부탁 드리는 부분은 이렇습니다. 송원석님 덕분에 이 소스는 문제 없이 잘 작동 합니다. 다만 HTML 문서의 소스가 좀 길면.... TimeOut 에러가 납니다. 아마 FSO로 읽는 부분 부터 송원석님의 정규식 부분을 거친 후 CheckValue에 의해서 Replace 하는 과정의 절차가 문제가 있는 듯 합니다. 저는 경험도 없고 허접이라 FSO를 그냥 교과서(?) 대로만 사용을 한 것이라 속도 향상 부분을 전혀 고려 하지 못하였습니다. 혹시 더 빠르게 처리 할 수 있는 방법을 아신 다면 조언 좀 부탁 드릴께요. <!--#include file="dbconn.asp"--> <!--#include file="../../INCLUDE_NEW/RegExp.asp"--> <% root_dir = Server.MapPath(".") & "\data\" SET uploadform = Server.CreateObject("DEXT.FileUpload") uploadform.DefaultPath = root_dir subject = uploadform("subject") text_file = uploadform("text_file").filename IF text_file <> "" Then file_name = Mid(text_file, InstrRev(text_file, "\") + 1) str_name = Mid(text_file, 1, Instr(text_file, ".") - 1) str_ext = Mid(text_file, Instr(text_file, ".") + 1) str_file_name = str_name & "." & str_ext text_file = Root_Dir & text_file CkFile = uploadform.FileExists(text_file) IF CkFile = True Then i = 2 do while(1) text_file = str_name & "[" & i & "]" & "." & str_ext filepath = uploadform.DefaultPath & text_file if not uploadform.FileExists(filepath) then Exit Do i = i + 1 Loop '다른이름으로 저장 '파일이름[번호].확장자 형식으로 저장됨. 다름이름.. uploadform("text_file").SaveAS filepath ELSEIF CkFile = False Then '파일이름 그대로 저장됨. uploadform("text_file").SaveAS text_file text_file = str_file_name End IF '파일이 조건 저장 END IF SET uploadform = Nothing SET FSO = Server.CreateObject("Scripting.FileSystemObject") SET textstream = FSO.OpenTextfile(root_dir & text_file,1) text = textstream.ReadAll SET textstream = nothing SET FSO = nothing text = RegExpReplace("[\s\S]*?<body>([\s\S]*)?<\/body>[\s\S]*", text, "$1") Function CheckWord(CheckValue) CheckValue = replace(CheckValue, "'", "''") CheckValue = replace(CheckValue, "'", "'") CheckWord = Trim(CheckValue) End Function text = CheckWord(text) Sql = "SELECT seq FROM REGISTER WHERE seq = (SELECT Max(seq) FROM REGISTER)" SET Rs = conn.Execute(Sql) IF (Rs.EOF or Rs.BOF) THEN seq = 1 ELSE seq = Rs("seq") + 1 END IF SQL = "INSERT INTO REGISTER(seq, subject, text_file, reg_date) Values" SQL = SQL & "(" & Seq & "," SQL = SQL & "'" & subject & "'," SQL = SQL & "'" & text & "'," SQL = SQL & "GetDate())" Conn.Execute SQL %> <!--#include file="dbclose.asp"--> <SCRIPT LANGUAGE="JavaScript"> <!-- location.href = "upload_ok.htm"; //--> </SCRIPT> |
IP 주소: 61.33.79.10
|
게시물 | ||||
---|---|---|---|---|
874 | 2004-12-02 | 4,945 | ||
873 |
오마르 |
2004-12-01 | 1,038 | |
872 | 2004-12-01 | 3,083 | ||
871 | 2004-12-02 | 2,724 | ||
870 |
tester |
2006-05-15 | 649 | |
869 |
궁금이 |
2004-12-01 | 1,120 | |
868 | 2004-12-01 | 2,822 | ||
867 | 2004-11-30 | 2,932 | ||
866 | 2004-11-30 | 2,900 | ||
865 |
궁금이 |
2004-11-24 | 1,100 | |
864 | 2004-11-24 | 2,756 | ||
863 |
그건 아닌데요... [1] |
궁금이 |
2004-11-24 | 1,013 |
862 |
re: 그건 아닌데요... [1] |
2004-11-24 | 2,863 | |
861 |
궁금이 |
2004-11-23 | 1,019 | |
860 | 2004-11-23 | 2,764 | ||
859 |
궁금이 |
2004-11-23 | 979 | |
858 |
re: 답변 감사 드리며.. [1] |
2004-11-23 | 2,750 | |
857 | 2004-11-23 | 2,775 | ||
856 | 2004-11-23 | 2,792 | ||
855 | 2004-11-23 | 2,774 | ||
854 |
궁금이 |
2004-11-23 | 981 | |
853 | 2004-11-23 | 2,743 | ||
궁금이 |
2004-11-23 | 938 | ||
851 | 2004-11-23 | 2,702 | ||
850 |
궁금이 |
2004-11-23 | 791 |