Primero, agregue un código completo
; herramienta </title> <body> <table border = 0 ancho = 80% align = centro cellPacing = 1 celular de celda = 3 estilo = font-familia: verdana; tamaño de fuente: 14px; borde: #000000 1px color sólido; fondo de fondo; :# f7f7f7> <tr> <th width = 100% altura = 24 bgcolor =#33ccff> </th> </tr> <tr> <td bgcolor =#33ccff> <%server.scripttimeout = 99999dim winrar, cmddirwinrar = c:/programas/winrar/winrar.exe 'compresión La dirección del archivo (Winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe' de la dirección del usuario del solicitante del sistema = csissp 'el nombre de usuario de este programa pwd = csissp' inicio de sesión, compresión, compresión, y la descompresión de esta contraseña del programa, asegúrese de modificar (¡al menos 8 dígitos son seguros las contraseñas combinadas!) Si request.form (usuario) = usuario y request.Form (pwd) = pwd y thenResponse.write la ruta de esta carpeta: & server.mappath (.) & <br> from = request.form (from) where = requit.form (where) si desde <> y dónde < > Luego, dim a, b, shell, ejecución, ejecución de run, cmd if instrer (dónde,:) = 0 entonces a = server.mappath (& where &) de lo contrario a = dónde if instrer (de, :) = 0 entonces b = servidor. mappath (& from &) else b = de 'respuesta.write b si es correcto (b, 1) <>/ y Izquierda (derecha (b, 4), 1) <>. (b) Entonces respuesta.write (¡no encontrado y B & puede no existir! ): Respuesta.end () runing = cmddir & /c & winrar & x -ibck -t -y -o+ -p & pwd & 'Establezca el comando para ejecutar la descompresión. CMD = Runing & B & & A &// Elseif Solic.QueryString (Action) = 0 entonces 'Compre archivo if (no informarfilestatus (a)) y (no informarfolderStatus (a)) entonces respuesta.write (no encontrado & a & puede no existir!): Respuesta. End () cmd = cmddir & /c del /f /Q & B runcode = shell.run (cmd, 1, true) runing = cmddir & /c & winrar & a -ibck -y -ep -o+ -p & pwd & 'compresión. Cmd = runing & b & & a else 'Eliminar el archivo cmd = cmddir & /c del /f /Q & B End if runCode = shell.run (cmd, 1, true) runing = shell.run (cmddir & /c tareakill /im winrar.exe, 1, falso) runing = shell.run (cmddir & /c salir, 1, falso) set shell = nada errinfo%> <%else%> <form de nombre = frm método = post action =? Action = 1 style = border: # # d9d9d9 1px sólido; color de fondo:#f7f7f7> ----------------------------------------- -<strong> descomprima el archivo </strong> --------------------------------------- ------------ <br> <BR> Ingrese la dirección de archivo comprimido RAR: <Name de entrada = desde value = 1.Rar size = 50> <br> Descompresión a: <input name = donde value =. request.form (usuario)%>> <entrada type = Hidden name = pwd value = <%= request.form (pwd)%>> </orm> <form de nombre = frm método = post action =? Action = 0 style = border: #d9d9d9 1px sólido; fondo de fondo; :#F7F7F7> ---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------> -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---- La dirección del archivo que desea comprimir: <input name = where value =./Data/dvbbs7#.mdb size = 50> También puede ingresar la carpeta <br> <br> ruta de almacenamiento y nuevo nombre de archivo: <input name = from value = ../data/1.Rar size = 50> Originalmente sobrescribe el archivo con el mismo nombre <br> <r> <input name = enviar type = enviar value = compresión> <input type = Hidden name = user value = <%= request.form (user)%>> <input type = hidden name = pwd value = <%= request .Form (pwd)%>> </form> <%errinfoend ifelSelogin () end ifsub errinfo si no isEtimty (runcode) y RunCode = 0 entonces respuesta.write (la operación se ejecuta correctamente, la operación que envió es la siguiente: <br> & cmd) de lo contrario no es ISEMPTY (runcode) y luego respuesta.write (la operación se ejecuta fallas! Tal vez sus permisos son insuficientes o el programa no puede ejecutarse en DOS (símbolo del sistema). %> <form de nombre = frm método = post action =? Action = 2 style = border: #d9d9d9 1px sólido; color de fondo: #f7f7f7> ---------------------- --- ------------------ <strong> Eliminar archivos </strong> -------------------- ------ ------------------ <br> <br> Ingrese la dirección para eliminar el archivo: <Name de entrada = desde size = 50 value = <%= from%>> carpeta Por favor use la ruta absoluta y agregue / al final / <br> <input type = Hidden name = where value = <%if where <> entonces respuesta. Respuesta. = pwd value = <%= request.form (pwd)%>> </form> <br> <%end subfunción ReportFilestatus (FileSpec) dim fso set fso = createObject (scripting.fileSystemObject) ReportFilestatus = false if (FSO.FileExist ) ReportFoldeerStatus = false if (fso.foldereRexists (fldr)) entonces ReportFoldeerStatus = True Set fso = Nothing FunctionsUsC Login ()%> <form de nombre = FRM Method = Post Action =? Action = 2 Style = Border: #D9D9D9 1PX Solid; Background-Color: #F7F7F7> <P> ---------- ------------------------- <strong> Sistema de inicio de sesión </strong> ----- ----------- ----------------- = contraseña id = pwd> <br> <br> <entrada name = Subt type = Subt Value = Login> </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>
Cómo usar:
1. Cargue directamente en cualquier directorio en el servidor (host virtual) (preferiblemente el directorio raíz)
2. Use un navegador para acceder a la dirección del archivo Winrar.asp
3. Ingrese el número de cuenta y la contraseña (Número de cuenta predeterminado: CSISP contraseña predeterminada: CSISP)
4. Ingrese la dirección del archivo Winrar (*.rar) y confirme y descomprima.
5. Ingrese la dirección del archivo que desea comprimir, y después de la confirmación, ¡puede comprimirlo!
Recordatorio especial: ¡La dirección del archivo es la dirección relativa de este sistema Winrar!
El servidor que usa este programa debe instalarse con Winrar (se instalan los servidores habituales)
La dirección de programa predeterminada de este programa es adecuada para más del 99% de los servidores (hosts virtuales)
Si la dirección es incorrecta, puede modificarla usted mismo.
Los siguientes detalles y suplementos
1. Problema de crianza
A medida que Internet se desarrolla, el número de sitios web ha aumentado con números sorprendentes. Además de proporcionar servicios de información a los internautas, el sitio web también debe convertirse en un lugar para que los internautas carguen y descarguen archivos. Durante el proceso de carga y descarga de archivos, el tiempo de transmisión es la clave, que requiere una velocidad de transmisión más rápida. Cuando la velocidad de transmisión se fija o el ascenso y hacia abajo cambia poco, es una forma factible de minimizar el volumen del archivo transferido: al cargar el archivo, primero comprime el archivo que se cargará con Winrar, y después de que la carga sea exitosa, Estará en el sitio web. Este artículo analiza la solución a este problema.
2. Métodos e instrucciones
Primero, debe cargar un programa de descompresión de Winrar, que es el programa de descompresión propio de Winrar. Luego desea cargar un programa que ejecute RAR.EXE. Después de cargar estos dos archivos, debe escribir algún código de programa para implementar la compresión y la descompresión.
También puede nombrar el archivo que implementa la función de compresión Zip.asp, y el archivo que implementa la función de descompresión unzip.asp.
El código del programa contiene la sintaxis de la línea de comando de la aplicación Winrar, y la siguiente es una breve introducción:
Winrar <Command> -<Switch 1> -<switch n> <archivo comprimido> <archivo ...> <@@list file ...> <ruta descomprimida/>
La combinación de caracteres que el comando para ejecutar por Winrar representa la función.
El funcionamiento del interruptor del interruptor define el tipo, resistencia a la compresión, tipo de archivo de compresión, etc.
El nombre de archivo comprimido para procesar.
El nombre del archivo se procesará.
Listas Archivos Los archivos de la lista son texto sin formato que contiene el nombre del archivo a procesar. El nombre del archivo debe iniciarse en el Volumen 1. Puede agregar comentarios después de usar // caracteres en el archivo de lista. Por ejemplo, puede crear copias de seguridad. : Winrar A Backup @backup.lst Puede especificar tanto el nombre de archivo normal como el nombre de archivo en la línea de comando.
La ruta de descompresión solo se usa con los comandos E y X. Indica dónde se agregó el archivo descomprimido. Si la carpeta no existe, se creará automáticamente.
Lista de comandos de letras:
| un archivo Agregar al archivo comprimido | c Agregar comentarios de archivo comprimido |
| D Eliminar el archivo del archivo comprimido | E descomprima del archivo comprimido, ignore la ruta |
| f Actualizar el archivo en el archivo comprimido | Encuentro cadenas en archivos comprimidos |
| k bloqueo de archivos comprimidos | m mover archivos y carpetas a archivos comprimidos |
| r reparar archivos comprimidos dañados | RC reconstruir volumen faltante |
| RN renombra el archivo comprimido | RR [N] Agregar registro de recuperación de datos |
| RV [N] Crear un volumen de recuperación | S [nombre] convierte los archivos comprimidos en tipo de archivo autoextracto |
| S- Eliminar el módulo autoextrante | t prueba de archivos comprimidos |
| U Actualización de archivos de archivos comprimidos | x Descomprimir del archivo comprimido con el nombre de ruta completa |
De hecho, el punto clave en el código del programa es usar server.createObject (wscript.shell) para ejecutar cmd.exe.
3. Lista de procedimientos
Lista de programas ZIP.ASP:
<%'La carpeta principal contiene cmd.exe rar.exe, por ejemplo: el archivo que se comprimirá (*.mdb)' El directorio de almacenamiento comprimido es main/data.Raron Error Reano 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 <Command> -<Switch 1> -<Switch N> <Compress File> <Archivo. .> <@@list file ...> <comando de descompresión/> ': A - Agregar al archivo comprimido si issuccess = 0 ¡El comando ThenResponse.Write se ejecutó con éxito! ¡El comando Elseresponse.Write no pudo ejecutar! Los permisos son insuficientes o el programa no puede ejecutarse en finalización ifif err.number <> 0 toneResponse.write <p> Número de error: & err.numberResponse.write <p> Razón: & Err.DescriptionResponse.Write <p> Fuente de error: & & & & & & & Err.
Lista de programas UNZIP.ASP:
<%'La carpeta principal contiene cmd.exe rar.exe el archivo para descomprimirse (*.rar)' El directorio descomprimido es un resumen de error de error nextunzip_path = server.mappath (main) &/set wshshell = server createObject (wscript.shell) Issuccess = wshshell.run (winrar x -r -o+ & unzip_path &*. Rar & unzip_path &, 1, false) 'Winrar <Command> -<Switch 1> -<Switch n> <archivo de compresión> <archivo. Archivo ...> <COMANDO DE DECOMPRESS/> 'COMANDO: X - DESCOMPRESS Ruta completa del archivo comprimido' Switch: -r - con subcarpeta 'Switch: -O+ - Sobrescribe el archivo de archivo existente: -o- - ¡No sobrescribir el archivo existente si issuccess = 0 entoncesResponse.Write Command se ejecuta correctamente! ¡El comando Elseresponse.Write no pudo ejecutar! Los permisos son insuficientes o el programa no puede ejecutarse en finalización ifif err.number <> 0 toneResponse.write <p> Número de error: & err.numberResponse.write <p> Razón: & Err.DescriptionResponse.Write <p> Fuente de error: & & & & & & & Err.
4. Conclusión
Este artículo utiliza Rar.exe y Cmd.exe para realizar la función de la compresión en línea y descomprimir archivos en sitios web en programación ASP. El método de implementación es simple y hay poco código de programa, que puede usarse para referencia y uso durante la programación práctica. Especialmente cuando tiene su propio servidor, es extremadamente útil y conveniente. El programa anterior se ejecuta en Windows 2000Sever e IIS 5.0.