먼저 완전한 코드를 추가하십시오
<!-이름 -ASP 온라인 감압, 압축 도구 저작권 -Vevb wulin.com (www.vevb.com)-> <%@language = vbscript codepage = 936%> <title> ASP 온라인 감압, 압축 사용에 오신 것을 환영합니다. 공구 < /title> <body> <테이블 테두리 = 0 너비 = 80% 정렬 = 중심 셀 패키지 = 1 CellPadding = 3 스타일 = 글꼴-가족 : verdana; font-size : 14px; 테두리 : #000000 1px 고체; 배경색. :# f7f7f7> <tr> <th 너비 = 100% 높이 = 24 bgcolor =#33ccff> </th> </tr> <tr> <td bgcolor =#33ccff> <%stripttimeout = 99999dim winrar, cmddirwinrar =/program files/winrar/winrar.exe 'compression 파일의 주소 (winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe'명령 프롬프트 주소의 주소 user = csissp '이 프로그램의 사용자 이름 pwd = csissp'login, compression, 그리고이 프로그램 비밀번호의 압축 압축은 request.form (사용자) = 사용자 및 request.form (pwd) = pwd whenresponse.이 폴더의 경로를 작성하십시오 : & server.mappath (.) & <br> from = request.form (from) where = request.form (where). > 그런 다음 A, B, Shell, Runing, RunCode, CMD IF DIST (where, :) = 0 그런 다음 A = Server.Mappath (& where &) else a = Where inst (from, :) = 0 그런 다음 b = 서버. Mappath (& from &) else b = 'response.write b right (b, 1) <> <> 왼쪽 (b, 4), 1) <>. (b) 그런 다음 응답. write (찾을 수 없음 & b & 존재하지 않을 수 있습니다! ) : response.end () runing = cmddir & /c & winrar & x -ibck -t -y -o+ -p & pwd & '감압을 실행하도록 명령을 설정하십시오. cmd = runing & b & a & a &/ elseif request.querystring (action) = 0 그런 다음 (reportFilestatus (a)가 아님) 및 (reportFoldErsTatus (a)가 아님)를 압축 한 다음 response.write (찾을 수없고 존재하지 않을 수 있습니다!) : 응답. end () cmd = cmddir & /c del /f /q & b runcode = shell.run (cmd, 1, true) runing = cmddir & /c & winrar & -ibck-y -o+ -p & pwd & 'compression. cmd = runing & b & a else '파일 삭제 cmd = cmddir & /c del /f /q & b end이면 runcode = shell.run (cmd, 1, true) runing = shell.run (cmddir & /c taskkill /im winrar.exe, 1, false) runing = shell.run (cmddir & /c exit, 1, false) set shell = nody errinfo%> <%else%> <양식 이름 = frm method = post action =? action = 1 style = border : # D9d9d9 1px 단단한; 배경색 :#f7f7f7> ---------------------------------------- -<strong> 파일을 압축 해제 </strong> ------------------------------------------------- -------------- <br> <br> RAR 압축 파일 주소를 입력하십시오 : <입력 이름 = value = 1.rar size = 50> <br> decompress : <input name = 여기서 value =. size 50> 폴더는 절대 경로를 사용하고 끝에서 추가 / <br> <br> <입력 이름 = 제출 유형 = 제출 값 = unzip> <입력 유형 = 숨겨진 이름 = 사용자 값 = <%= request.form (사용자)%>> <입력 type = hidden name = pwd value = <%= request.form (pwd)%>> </form> <양식 이름 = frm 메소드 = post action =? action = 0 스타일 = 테두리 : #d9d9d9 1px solid; 배경 색상 :#f7f7f7> ------------------------------------------------ ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------> ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ---- 압축하려는 파일의 주소 : <입력 이름 = where value =./data/dvbbs7#.mdb size = 50> 폴더 <br> <br> 저장 경로 및 새 파일 이름을 입력 할 수도 있습니다. <br> <br> <입력 이름 = 제출 유형 = 제출 값 = 압축> <입력 유형 = 숨겨진 이름 = 사용자 값 = <%= request.form (사용자)%>> <입력 유형 = 숨겨진 이름 = pwd value = <%= request. form (pwd)%>> </form> <%errinfoend ifelselogin () end ifsub errinfo isempty (runcode) 및 runcode = 0 그런 다음 response.write (작업이 성공적으로 실행됩니다. 제출 한 작업은 다음과 같습니다. <br> & cmd) elseif isempty (runcode) 그런 다음 response.write (작동이 실패했습니다! 권한이 충분하지 않거나 프로그램이 DOS에서 실행할 수 없음 (명령 프롬프트)은 다음과 같습니다. %> <양식 이름 = frm 메서드 = post action =? action = 2 style = 19 경계 : #d9d9d9 1px solid; 배경색 : #f7f7f7> ---------------- ----------------------- <strong> 파일 삭제 </strong> -------------------- ------ ----------------------- <br> <br> 파일을 삭제하려면 주소를 입력하십시오 : <input name = fr. size = 50 value = <%= from%>> 폴더 절대 경로를 사용하고 끝에서 / add / <br> <입력 유형 = 숨겨진 이름 = value = <%<> right.were. 응답. 쓰기. = pwd value = <%= request.form (pwd)%>> </form> <br> <%종료 하위 기능 reportFilestatus (filespec) dim fso set fso = createobject (scripting.filesystemobject) reportfilestatus = false if (fso.fileExists (fileSpec)) 그런 다음 reportFilestatus = true set fso = nothingend functionfunction reportFoderstatus (fldr) dim fso = createObject (scripting.fileSystemObject.fileSyStemObject. ) reportfolderstatus = false if (fso.dolerexists (fldr)) reportfolderstatus = true set fso = nothingend functionsub login ()%> <양식 이름 = frm 메소드 = post action =? action = 2 style = 테두리 : #d9d9d9 1px solid; 배경색 : #f7f7f7> <p> --- ---------------------------- <strong> 로그인 시스템 </strong> ----- ---------- --------------------- <br> <br> 사용자 이름 : <입력 이름 = 사용자 값 = csissp> </p> 암호 : <입력 이름 = pwd 유형 = 비밀번호 ID = pwd> <br> <br> <입력 이름 = 제출 유형 = 제출 값 = 로그인> </form> <%종료 엔드 하위%> </td> </tr> <tr> <td height = 22 align = center bgcolor =#ffffff> Copyright © 2008 <a href = // www.vevb.com> Vevb wulin.com </a> </td> </tr> </table> </body>
사용 방법 :
1. 서버의 디렉토리 (가상 호스트)에 직접 업로드 (바람직하게는 루트 디렉토리)
2. 브라우저를 사용하여 Winrar.asp 파일 주소에 액세스하십시오.
3. 계정 번호 및 비밀번호를 입력하십시오 (기본 계정 번호 : CSISP 기본 비밀번호 : CSISP)
4. Winrar 파일 (*.rar)의 주소를 입력하고 확인하고 압축을 압축합니다.
5. 압축하려는 파일의 주소를 입력하고 확인 후 압축 할 수 있습니다!
특별 알림 : 파일 주소는이 Winrar 시스템의 상대 주소입니다!
이 프로그램을 사용하는 서버는 Winrar (일반 서버가 설치되어 있음)를 설치해야합니다.
이 프로그램의 기본 프로그램 주소는 서버의 99% 이상 (가상 호스트)에 적합합니다.
주소가 올바르지 않으면 직접 수정할 수 있습니다.
다음 세부 사항 및 보충제
1. 문제 제기
인터넷이 발전함에 따라 웹 사이트 수는 놀라운 숫자로 증가했습니다. 네티즌에게 정보 서비스를 제공하는 것 외에도 웹 사이트는 네티즌이 파일을 업로드하고 다운로드 할 수있는 장소가되어야합니다. 파일을 업로드하고 다운로드하는 과정에서 전송 시간이 키이며, 이는 더 빠른 전송 속도가 필요합니다. 전송 속도가 고정되거나 위아래가 거의 변경되면 전송 된 파일의 볼륨을 최소화 할 수있는 방법입니다. 파일을 업로드 할 때 먼저 파일을 winrar로 업로드 할 파일을 압축하고 업로드가 성공한 후에는 성공할 수 있습니다. 웹 사이트에있어서 파일을 다운로드 할 때는 웹 사이트 내에서 프로그램을 통해 파일을 다운로드 한 다음 다운로드합니다. 이 기사에서는이 문제에 대한 해결책에 대해 설명합니다.
2. 방법과 지침
먼저 Winrar의 자체 감압 프로그램 인 Winrar 감압 프로그램을 업로드해야합니다. 그런 다음 RAR.exe를 실행하는 프로그램을 업로드하십시오. 이 두 파일을 업로드 한 후 압축 및 압축 압축을 구현하려면 일부 프로그램 코드를 작성해야합니다.
압축 함수 zip.asp를 구현하는 파일의 이름과 감압 함수 unzip.asp를 구현하는 파일의 이름을 지정할 수도 있습니다.
프로그램 코드에는 응용 프로그램 Winrar의 명령 줄 구문이 포함되어 있으며 다음은 간단한 소개입니다.
winrar <command> -<switch 1> -<switch n> <compressed file> <file ...> <@list 파일 ...> <Decompressed Path/>
Winrar가 실행하는 명령이 함수를 나타냅니다.
스위치 스위치 작동 유형, 압축 강도, 압축 파일 유형 등을 정의합니다.
처리 할 압축 파일 이름.
처리 할 파일 이름입니다.
목록 파일 목록 파일은 처리 할 파일 이름이 포함 된 일반 텍스트입니다. 파일 이름은 1 권에서 시작해야합니다. 목록 파일에서 // 문자를 사용한 후 주석을 추가 할 수 있습니다. 예를 들어 Backup.lst를 만들 수 있습니다 : c :/work/doc/*. txt // 텍스트 백업 문서 c :/work/image/*. bmp // 백업 이미지 c :/work/misc 및 다음 실행 : winrar a backup @backup.lst 명령 줄에서 일반 파일 이름과 목록 파일 이름을 모두 지정할 수 있습니다.
감압 경로는 명령 e 및 x와 함께 사용됩니다. 압축 압축 파일이 추가 된 위치를 나타냅니다. 폴더가 존재하지 않으면 자동으로 생성됩니다.
문자 명령 목록 :
| 압축 파일에 파일을 추가합니다 | c 압축 파일 주석을 추가하십시오 |
| D 압축 파일에서 파일을 삭제합니다 | 압축 된 파일에서 e 경로를 무시하십시오 |
| f 압축 파일에서 파일을 새로 고치십시오 | 압축 파일에서 문자열을 찾습니다 |
| K 잠금 압축 파일 | m 파일과 폴더를 압축 파일로 이동합니다 |
| R 손상된 압축 파일을 수리합니다 | RC가 누락 된 볼륨을 재건합니다 |
| RN은 압축 파일의 이름을 바꿉니다 | RR [N] 데이터 복구 레코드를 추가합니다 |
| rv [n] 복구 볼륨을 만듭니다 | s [이름]은 압축 파일을 자체 추출 된 파일 유형으로 변환합니다 |
| S- 자체 추출 모듈을 삭제하십시오 | t 압축 파일을 테스트합니다 |
| 압축 파일에서 파일을 업데이트합니다 | 전체 경로 이름이있는 압축 파일에서 x 압축 압력 |
실제로, 프로그램 코드의 핵심은 Server.createObject (wscript.shell)를 사용하여 cmd.exe를 실행하여 rar.exe를 실행하여 winrar 명령을 통해 압축 된 파일을 실행하는 것입니다.
3. 절차 목록
Zip.asp 프로그램 목록 :
<%'기본 폴더는 cmd.exe rar.exe를 포함합니다 : 압축 할 파일 (*.mdb)'압축 스토리지 디렉토리는 기본/data.raron 오류 이력서 Nextunzip_path = server (main) 및/set wshshell = server.createObject (wscript.shell) issuccess = wshshell.run (winrar a & unzip_path & data & unzip_Path &*. .> <@List 파일 ...> <Decompress Path/> '명령 : A- ISSUCCESS = 0 인 경우 압축 파일에 추가 theResponse.write 명령이 성공적으로 실행되었습니다! elseresponse.write 명령이 실행되지 않았습니다! 권한은 불충분하거나 프로그램이 Ifif err.number.write <p> 오류 번호 : & err.numberResponse.write <p> 이유 : & err.descriptionResponse.write <p> 오류 출처 : & err. sourceresponse.write end if%>
unzip.asp 프로그램 목록 :
<%'기본 폴더에는 CMD.exe rar.exe 파일이 포함되어 있습니다. issuccess = wshshell.run (winrar x -r -o+ & unzip_path &*. rar & unzip_path &, 1, false) 'winrar <command> -<switch n> <file> <file 파일 ...> <Decompress Path/> '명령 : x- 압축 된 파일에서 파일 전체 경로'스위치 : -r- Subfolder '스위치 : -o+ - 기존 파일을 덮어 쓰기 '스위치 : -o-- issuccess = 0 theResponse.write 명령이 성공적으로 실행되는 경우 기존 파일을 덮어 쓰지 마십시오! elseresponse.write 명령이 실행되지 않았습니다! 권한은 불충분하거나 프로그램이 Ifif err.number.write <p> 오류 번호 : & err.numberResponse.write <p> 이유 : & err.descriptionResponse.write <p> 오류 출처 : & err. sourceresponse.write end if%>
4. 결론
이 기사는 RAR.EXE 및 CMD.EXE를 사용하여 ASP 프로그래밍의 웹 사이트에서 온라인 압축 및 파일을 압축하는 기능을 실현합니다. 구현 방법은 간단하며 실용적인 프로그래밍 중에 참조 및 사용할 수있는 프로그램 코드가 거의 없습니다. 특히 자신의 서버가있을 때는 매우 유용하고 편리합니다. 위의 프로그램은 Windows 2000Sever 및 IIS 5.0에서 실행됩니다.