Liu Yongfa의 xml asp 소스 코드 패키징 도구는 별도의 xml 파일로 패키징되어 있으므로 서버에 직접 설치하여 파일 패키징 시 실행해 보세요.
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% 응답.Charset=UTF-8%>
<% Server.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<머리>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>파일 패키징 프로그램</title>
</head>
<본문>
<%
희미한 ZipPathDir, ZipPathFile
희미한 시작 시간, 종료 시간
'패키징할 폴더의 경로를 여기서 변경하세요.
ZipPathDir =F:/www.yongfa365.com'
ZipPathFile =update.xml
If Right(ZipPathDir,1)<>/Then ZipPathDir = ZipPathDir&/
'포장 시작
CreateXml(ZipPath파일)
'디렉터리의 모든 파일과 폴더를 탐색합니다.
하위 로드데이터(DirPath)
DimXmlDoc
희미한 fso 'fso 객체
Dim objFolder '폴더 개체
Dim objSubFolders '하위 폴더 컬렉션
Dim objSubFolder '하위 폴더 개체
Dim objFiles '파일 컬렉션
Dim objFile '파일 개체
희미한 objStream
희미한 경로 이름, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream
DimPathNameStr
response.Write(==========&DirPath&==========<br>)
fso = server.CreateObject(scripting.filesystemobject) 설정
Set objFolder = fso.GetFolder(DirPath)'폴더 개체 생성
응답.DirPath 쓰기
응답.플러시
XmlDoc = Server.CreateObject(Microsoft.XMLDOM) 설정
XmlDoc.load 서버.MapPath(ZipPathFile)
XmlDoc.async =거짓
'각 폴더 경로를 작성하세요.
Xfolder = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(folder)) 설정
Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement(경로)) 설정
Xfpath.text = 바꾸기(DirPath, ZipPathDir,)
objFiles = objFolder.Files 설정
ObjFiles의 ForEach objFile
If LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables(PATH_TRANSLATED))Then
응답.쓰기 ---<br/>
PathNameStr = DirPath && objFile.Name
응답.Write PathNameStr &
응답.플러시
'===============================================
'파일의 경로와 파일 내용을 씁니다.
Xfile = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(file)) 설정
Xpath 설정 = Xfile.AppendChild(XmlDoc.CreateElement(경로))
Xpath.text = 바꾸기(PathNameStr, ZipPathDir,)
'파일 내용을 읽고 이를 XML 파일에 쓰기 위한 파일 스트림을 생성합니다.
objStream = Server.CreateObject(ADODB.Stream) 설정
objStream.Type=1
objStream.Open()
objStream.LoadFromFile(PathNameStr)
objStream.위치 =0
Xstream = Xfile.AppendChild(XmlDoc.CreateElement(stream)) 설정
Xstream.SetAttribute xmlns:dt,urn:schemas-microsoft-com:데이터 유형
'파일 내용은 바이너리 모드로 저장됩니다.
Xstream.dataType=bin.base64
Xstream.nodeTypedValue = objStream.Read()
objStream =Nothing 설정
Xpath =없음 설정
Xstream =없음 설정
Xfile=아무것도 설정하지 않음
'===============================================
종료
다음
응답.쓰기 <p>
XmlDoc.Save(Server.Mappath(ZipPathFile))
Xfpath =Nothing 설정
Xfolder =없음 설정
XmlDoc =아무것도 설정하지 않음
'하위 폴더 개체가 생성되었습니다.
objSubFolders = objFolder.SubFolders 설정
'재귀적으로 하위 폴더를 탐색하는 호출
objSubFolders의 ForEach objSubFolder
경로 이름 = DirPath & objSubFolder.Name &/
LoadData(경로명)
다음
objFolder =Nothing 설정
objSubFolders =Nothing 설정
fso=아무것도 설정하지 않음
EndSub
'파일 쓰기를 준비하기 위해 빈 XML 파일을 만듭니다.
하위 CreateXml(파일 경로)
'프로그램 시작 실행 시간
시작 시간 = 타이머()
희미한 XmlDoc, 루트
XmlDoc = Server.CreateObject(Microsoft.XMLDOM) 설정
XmlDoc.async =거짓
루트 설정 = XmlDoc.createProcessingInstruction(xml,version='1.0' 인코딩='UTF-8')
XmlDoc.appendChild(루트)
XmlDoc.appendChild(XmlDoc.CreateElement(루트))
XmlDoc.Save(Server.MapPath(파일 경로))
루트 설정 = 없음
XmlDoc =아무것도 설정하지 않음
로드데이터(ZipPathDir)
'프로그램 종료 시간
종료시간 = 타이머()
response.Write(페이지 실행 시간: & FormatNumber((endtime - starttime),3)& 초)
EndSub
%>
</body>
</html>
다음을 Install.asp로 저장하고 XML 패키징 파일 설치 시 실행해 보세요.
다음과 같이 코드 코드를 복사합니다.
<%@LANGUAGE=VBSCRIPT 코드페이지=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% 응답.Charset=UTF-8%>
<% Server.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<머리>
<metahttp-equiv=Content-Typecontent=text/html; charset=utf-8/>
<title>파일 압축 풀기</title>
</head>
<본문>
<%
희미한 strLocalPath
'현재 폴더의 실제 경로를 가져옵니다.
strLocalPath = 왼쪽(Request.ServerVariables(PATH_TRANSLATED), InStrRev(Request.ServerVariables(PATH_TRANSLATED),/))
희미한 objXml파일
희미한 objNodeList
희미한 objFSO
희미한 objStream
희미한 나, j
objXmlFile = Server.CreateObject(Microsoft.XMLDOM) 설정
objXmlFile.load(Server.MapPath(update.xml))
objXmlFile.readyState =4이면
objXmlFile.parseError.errorCode =0이면
objNodeList = objXmlFile.documentElement.selectNodes(//폴더/경로) 설정
objFSO = CreateObject(Scripting.FileSystemObject) 설정
j = objNodeList.Length -1
i =0에 대해 j
objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen인 경우
objFSO.CreateFolder(strLocalPath & objNodeList(i).text)
종료
Response.Write는 & objNodeList(i).text &<br/> 디렉토리를 생성합니다.
응답.플러시
다음
objFSO =아무것도 설정하지 않음
objNodeList =Nothing 설정
objNodeList = objXmlFile.documentElement.selectNodes(//파일/경로) 설정
j = objNodeList.Length -1
i =0에 대해 j
objStream = CreateObject(ADODB.Stream) 설정
objStream 사용
.유형=1
.열려 있는
.objNodeList(i).nextSibling.nodeTypedvalue 쓰기
.SaveToFile strLocalPath & objNodeList(i).text,2
Response.Write는 파일 & objNodeList(i).text &<br/>를 릴리스합니다.
응답.플러시
.닫다
끝
objStream =Nothing 설정
다음
objNodeList =Nothing 설정
종료
종료
objXmlFile =Nothing 설정
response.Write 파일 압축해제 완료
%>
</body>
</html>