Сначала добавьте полный код
<!-Имя-ASP Online Decompression, инструмент сжатия Copyright -Vevb wulin.com (www.vevb.com)-> <%@language = vbscript codepage = 936%> <title> Добро пожаловать в использовании онлайн-декомпрессия, сжатие Инструмент < /title> <body> <таблица границы = 0 ширина = 80% Align = Center CellPacing = 1 CellPadding = 3 Style = Font-Family: Verdana; Font-Size: 14px; граница: #000000 1px твердый; фоновый колодец :# f7f7f7> <tr> <ширина = 100% Высота = 24 BGCOLOR =#33CCFF> </th> </tr> <tr> <td bgcolor =#33ccff> <%server.scripttimeout = 99999dim winrar, cmddirwinrar = c:/program files/winrar/winrar.exe 'compression Адрес файла (winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe' Адрес адреса пользователя пользовательской строки = csissp 'Имя пользователя этой программы pwd = csissp' login, сжатие, и декомпрессия этого пароля программы, пожалуйста, обязательно измените (не менее 8 цифр комбинированных паролей безопасны!) Если запрос. request.form (pwd) = pwd thenResponse.write Путь этой папки: & server.mappath (.) & <br> from = request.form (from) где = request.form (где), если <> и где < > Тогда Dim a, b, оболочка, пробежка, RunCode, cmd, если instr (:) = 0, то a = server.mappath (и где &) else a = где, если instr (from, :) = 0, затем b = сервер. mappath (& from &) else b = from 'response.write b Если право (b, 1) <>/ и Слева (справа (b, 4), 1) <>. (b) Тогда ответ.write (не найдено и может не существовать! ): Response.end () runing = cmddir & /c & winrar & x -ibck -t -y+ -p & pwd & 'Установите команду для запуска декомпрессии. Cmd = Runing & B & & A &/ Elseif request.queryString (action) = 0, тогда 'сжатие файла if (не отчетфилстатус (a)) и (не отчет офолстаттатус (a)), затем response.write (не найдено и не может существовать!): Ответ. End () cmd = cmddir & /c del /f /q & b runcode = shell.run (cmd, 1, true) runing = cmddir & /c & winrar & a -ibck -y -eep -o+ -p & pwd & 'compression. Cmd = Runing & B & & & A else 'Delete the File cmd = cmddir & /c del /f /q & b end if 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 = ничего ошибочного,%> <%else%> <form name = frm method = post action = action = 1 style = граница: # # D9D9D9 1PX твердый; фоновый цвет:#f7f7f7> --------------------------------------------- -<strong> разкапливать файл </strong> ------------------------------------------- ------------ <br> <br> Пожалуйста, введите адрес файла сжатого RAR: <input name = от value = 1.rar size = 50> <br> декакомпресс в: <Имя ввода = где значение =. request.form (user)%>> <input type = hidden name = pwd value = <%= request.form (pwd)%>> </form> <form name = frm method = post action =? action = 0 style = border: #d9d9d9 1px solid; фоновый колодец :#f7f7f7> --------------------------------------------------- ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ -------------------------------------------------> ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ---- Адрес файла, который вы хотите сжать: <input name = где значение =./Data/dvbbs7#.mdb size = 50> Вы также можете ввести папку <br> <br> путь хранения и новое имя файла: <name = value = ../data/1.rar size = 50> Первоначально перезаписывает файл с тем же именем <br> <br> <input name = propect type = pospod value = compression> <input type = hidden name = user value = <%= request.form (user)%>> <input type = hidden name = pwd value = <%= request .form (pwd)%>> </form> <%errinfoend ifelselogin () end ifsub errinfo, если не iSempty (runcode) и RunCode = 0, затем response.Write (операция выполняется успешно, представленная вами операция заключается в следующем: <br> & cmd) elseif not isempty (runcode), затем ответ. Writh (операция выполняется. Может быть, ваши разрешения недостаточно, или программа не может работать в DOS (командная строка). %> <form name = frm method = post action =? action = 2 style = border: #d9d9d9 1px solid; фоновый цвет: #f7f7f7> ----------------------- --- ------------------ <strong> Удалить файлы </strong> -------------------- ------ ------------------ <br> <br> Введите адрес, чтобы удалить файл: <name = from From size = 50 value = <%= от%>> папки, используйте абсолютный путь и добавьте / в конце / <br> <input type = hidden name = wardation = <%, если <> then response.write, где еще Ответ. = pwd value = <%= request.form (pwd)%>> </form> <br> <%конечная субфункция Reportfilestatus (filepec) Dim fso set fso = createObject (scripting.filesystemobject) reportfilestatus = false if (fso.fileexists (filepec)), затем отчетфилстатус = true set fso = nometherend functionfunction offfortStatus (fldr) Dim fso set fso = createObjecte.fileBileSSTISTY (fldR) Dim fso set fso = createObjecty.fileBileSSTISTY (fldr) Dim fso set fso = createObjjectySty.FileBileSSTISTUS. ) ReportFoldERTATUS = false if (fso.folderexists (fldr)) тогда ReportfolderStatus = true set fso = nometherend functionsub login ()%> <form name = frm method = post action =? Action = 2 style = border: #d9d9d9 1px solid; фоновый цвет: #f7f7f7> <p> --- --- ------------------------- <strong> Система входа в систему </strong> ----- ----------- -------------------- <br> <br> Имя пользователя: <input name = user value = csissp> </p> пароль: <input name = pwd type = ID пароля = pwd> <br> <br> <Вход name = отправить тип = отправить значение = roug> </form> <%end sub%> </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 <Команда> -<switch 1> -<Switch n> <сжатый файл> <file ...> <@list File ...> <Декомпрессированный путь/>>
Комбинация символов, которую команда, выполняемая Winrar, представляет функцию.
Работа переключателя переключателя определяет тип, прочность сжатия, тип сжатия и т. Д.
Сжатое имя файла для обработки.
Имя файла для обработки.
Списки файлов Список файлов - это простой текст, содержащий имя файла для обработки. Имя файла должно быть запущено в томе 1. Вы можете добавить комментарии после использования // символов в файле списка. Например, вы можете создать Backup.lst: c:/work/doc/*. Txt // резервное копирование текстового документа c:/work/image/*. Bmp // резервное копирование изображения c:/work/misc и следующий запуск : winrar a Backup @Backup.lst Вы можете указать как нормальное имя файла, так и список файла в командной строке.
Путь декомпрессии используется только с командами e и x. Указывает, где был добавлен декомпрессированный файл. Если папка не существует, она будет создана автоматически.
Список команд букв:
| Add File в сжатый файл | C Добавить сжатые файлы комментарии |
| d удалить файл из сжатого файла | e Декомпрессат из сжатого файла, игнорируйте путь |
| F обновите файл в сжатом файле | Я нахожу строки в сжатых файлах |
| k блокировка сжатых файлов | M Перемещение файлов и папок в сжатые файлы |
| r Ремонт поврежденных сжатых файлов | RC восстановить отсутствующий объем |
| RN переименовать сжатый файл | RR [n] добавить запись восстановления данных |
| RV [n] создать объем восстановления | S [имя] преобразует сжатые файлы в тип самоопространенного файла |
| S-удалить модуль самоизмещения | t тест сжатых файлов |
| U обновлять файлы из сжатых файлов | x декаскрипция из сжатого файла с полным именем пути |
Фактически, ключевым моментом в коде программы является использование Server.createObject (wscript.shell) для выполнения cmd.exe.
3. Список процедур
Список программ Zip.asp:
<%'Основная папка содержит cmd.exe rar.exe, например: файл для сжатия (*.mdb)' Каталог сжатого хранилища является Main/data.raron ошибка резюме NextUnzip_path = server.mappath (main) и/set wshshell = server.createObject (wscript.shell) issuccess = wshshell.run (winrar a & unzip_path & data & unzip_path &*. mdb, 1, false) 'winrar <Команда> -<Switch 1> -<Switch n> <файл сжатия> <файл. .> <@list File ...> <decompress path/> 'Команда: a - Добавить в сжатый файл, если issuccess = 0 Команда ThenResponse.Write была успешно выполнена! Команда elseresponse.write не выполнила! Разрешений недостаточны, или программа не может запустить конец ifif err.number <> 0 thenResponse.write <p> Номер ошибки: & err.numberresponse.write <p> Причина: & err.descriptionResponse.write <p> Источник ошибки: & & ERR
Список программ unzip.asp:
<%'Основная папка содержит файл cmd.exe rar.exe, который будет декомпрессирован (*.rar)' Decompressed Directory - это Mainon Error Resume NextUnzip_path = server.mappath (main) &/set wshshell = server. Issuccess = wshshell.run (winrar x -r -o+ & unzip_path &*. Rar & unzip_path &, 1, false) 'winrar <Команда> -<Switch 1> -<Switch N> <сжатие файл> <файл Файл ...> <decompress path/> 'Команда: x - Декалпресс Файл Полный путь из сжатого файла' Переключатель: -r - с подпадилкой 'Переключатель: -О+ - перезаписать существующий файл 'Switch: - - не перезаписать существующий файл, если issuccess = 0 thenResponse.write Команда успешно выполняется! Команда elseresponse.write не выполнила! Разрешений недостаточны, или программа не может запустить конец ifif err.number <> 0 thenResponse.write <p> Номер ошибки: & err.numberresponse.write <p> Причина: & err.descriptionResponse.write <p> Источник ошибки: & & ERR
4. Заключение
В этой статье используются rar.exe и cmd.exe для реализации функции онлайн -сжатия и декомпрессирующих файлов на веб -сайтах в программировании ASP. Метод реализации прост, и есть мало программного кода, который можно использовать для справки и использования во время практического программирования. Особенно, когда у вас есть собственный сервер, он чрезвычайно полезен и удобен. Вышеуказанная программа запускается под Windows 2000 Shever и IIS 5.0.