ASP 프로그램 자동 업그레이드 기능 구현
5099 단어 ASP프로그램 이 자동 업그레이드 기능 을 실현 하 다.
") %> 위 코드 는 바로... http://www.0x54.org/test.exeWEB 서버 의 현재 디 렉 터 리 에 저장 합 니 다.Microsoft.XML HTTP 에 대해 서 는... 더 많은 용법 은 MSDN 을 보 는 것 이 좋 겠 습 니 다.파일 이 많 으 면 여러 번 Microsoft.XML HTTP 로 네트워크 를 연결 하면 연결 에 실패 한 일부 파일 이 업데이트 되 지 않 는 경우 가 발생 할 수 있 으 므 로 이 를 피하 기 위해 서 는 모든 파일 을 하나의 파일 로 포장 해 한 번 에 WEB 에 다운로드 한 뒤 해 지 하 는 것 이 좋다.하하,여기 서 말 하 는 포장 은 RAR 이나 ZIP 가방 이 아니 라 우리 가 정의 하 는 것 입 니 다.예 를 들 어 모든 파일 을 하나 로 연결 한 다음 에 특수 한 기호 에 따라 분리 한다.지금 은 이렇게 번 거 롭 지 않 습 니 다.이미 만들어 진 방법 이 있 기 때문에 우 리 는 가 져 오기 주 의 를 사용 합 니 다.모든 파일(바 이 너 리 형식)과 그 경로 정 보 를 Access 데이터베이스 에 넣 는 것 입 니 다.아래 vbs 파일(해양 정상 2006 Plus)은 현재 디 렉 터 리 의 모든 파일 을 포장 하 는 것 입 니 다:Dim n, ws, fsoX, thePath Set ws = CreateObject("WScript.Shell") Set fsoX = CreateObject("Scripting.FileSystemObject") thePath = ws.Exec("cmd /c cd").StdOut.ReadAll() & "\" i = InStr(thePath, Chr(13)) thePath = Left(thePath, i - 1) n = len(thePath) On Error Resume Next addToMdb(thePath) Wscript.Echo "현재 디 렉 터 리 포장 완료,루트 디 렉 터 리 현재 디 렉 터 리"Sub addToMdb(thePath) Dim rs, conn, stream, connStr Set rs = CreateObject("ADODB.RecordSet") Set stream = CreateObject("ADODB.Stream") Set conn = CreateObject("ADODB.Connection") Set adoCatalog = CreateObject("ADOX.Catalog") connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=Packet.mdb" adoCatalog.Create connStr conn.Open connStr conn.Execute("Create Table FileData(Id int IDENTITY(0,1) PRIMARY KEY CLUSTERED, P Text, fileContent Image)") stream.Open stream.Type = 1 rs.Open "FileData", conn, 3, 3 fsoTreeForMdb thePath, rs, stream rs.Close Conn.Close stream.Close Set rs = Nothing Set conn = Nothing Set stream = Nothing Set adoCatalog = Nothing End Sub Function fsoTreeForMdb(thePath, rs, stream) Dim i, item, theFolder, folders, files sysFileList = "$" & WScript.ScriptName & "$Packet.mdb$Packet.ldb$" Set theFolder = fsoX.GetFolder(thePath) Set files = theFolder.Files Set folders = theFolder.SubFolders For Each item In folders fsoTreeForMdb item.Path, rs, stream Next For Each item In files If InStr(LCase(sysFileList), "$" & LCase(item.Name) & "$") <= 0 Then rs.AddNew rs("P") = Mid(item.Path, n + 2) stream.LoadFromFile(item.Path) rs("fileContent") = stream.Read() rs.Update End If Next Set files = Nothing Set folders = Nothing Set theFolder = Nothing End Function 다음은 압축 해제 ASP 파일:<%Sub UnPack() str = Server.MapPath(".") & "\" Set rs = CreateObject("ADODB.RecordSet") Set stream = CreateObject("ADODB.Stream") Set conn = CreateObject("ADODB.Connection") Set oFso = CreateObject("Scripting.FileSystemObject") connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("update.mdb") conn.Open connStr rs.Open "FileData", conn, 1, 1 stream.Open stream.Type = 1 Do Until rs.Eof theFolder = Left(rs("P"), InStrRev(rs("P"), "\")) If oFso.FolderExists(str & theFolder) = False Then oFso.CreateFolder(str & theFolder) End If stream.SetEOS() If IsNull(rs("fileContent")) = False Then stream.Write rs("fileContent") stream.SaveToFile str & rs("P"), 2 rs.MoveNext Loop rs.Close conn.Close stream.Close Set ws = Nothing Set rs = Nothing Set stream = Nothing Set conn = Nothing Set oFso = Nothing End Sub %> 음,상기 코드 가 있 으 면 자신의 ASP 업그레이드 프로그램 을 보 내 는 것 이 어렵 지 않 습 니 다.절 차 는 다음 과 같 습 니 다.업그레이드 가 필요 한 지 판단 합 니 다(Y) -> 업그레이드 팩 다운로드 -> 업그레이드 패 키 지 를 풀 고 오래된 파일 을 덮어 씁 니 다. -> 업그레이드 패키지 삭제 -> 버 전 정보 업데이트 -> OK 여기까지 쓰 면 끝 날 뻔 했 고 버 전 판단 같은 디 테 일 은 생략 했다.빠 른 시일 내 에 자동 으로 업 그 레이 드 된 각종 WEB 프로그램 을 사용 하고 게 으 른 사람 을 기다 리 며 여 유 롭 게 해 주 기 를 바 랍 니 다.하하.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ASP 프로그램 자동 업그레이드 기능 구현텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.