Primeiro, adicione um código completo
<!-Nome-ASP Descompressão on-line, ferramenta de compactação Copyright -vevb wulin.com (www.vevb.com)-> <%@idioma = vbscript codePage = 936%> <title> Bem-vindo ao uso da descompressão online ASP, compactação, compactação Ferramenta </ititle> <body> <borda da tabela = 0 largura = 80% alinhamento = CENTRO CELELAÇÃO = 1 CellPadding = 3 Style = Font-Family: Verdana; font-size: 14px; borda: #000000 1px sólido; cor de fundo da cor de fundo :# f7f7f7> <tr> <th width = 100% altura = 24 bgcolor =#33ccff> </th> </tr> <tr> <td bgcolor =#33ccff> <%server.scriptTimeout = 99999dim winrar, cmddirwinrar = c:/arquivos de programas/winrar/winrar.exe 'compressão O endereço do arquivo (winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe' endereço do endereço do prompt de comando user = csissp 'o nome do usuário deste programa PWD = CSISSP' Login, compactação, compactação, e descompressão desta senha do programa, certifique -se de modificar (pelo menos 8 dígitos senhas combinadas são seguras!) Se solicitação.form (usuário) = usuário e request.form (pwd) = pwd thenResponse.Write o caminho desta pasta: & server.mappath (.) & <br> de = request.form (de) where = request.form (where) se de <> e onde < > Então Dim a, B, Shell, Runing, RuCode, CMD se Instr (onde,:) = 0 então a = server.mappath (& where &) else a = where se Instr (de,:) = 0 então b = servidor. mappath (& de &) else B = de 'Response.Write B se certo (b, 1) <>/ e Esquerda (direita (B, 4), 1) <>. (b) Então Response.Write (não encontrado & b & pode não existir! ): Response.end () runing = cmddir & /c & winrar & x -bck -t -y -o+ -p & pwd & 'Defina o comando para executar a descompressão. CMD = RUNING & B & A &// ELSEIF Request.QueryString (Ação) = 0 depois, compacte o arquivo se (não relatamfileStatus (a)) e (não relatam '0 '), então Response.Write (não encontrado & a & pode não existir!): Resposta. End () cmd = cmddir & /c del /f /q & b runcode = shell.run (cmd, 1, true) runing = cmddir & /c & winrar & a -bck -y -ep -o+ -p & pwd & 'compressão. CMD = RUNING & B & A ELSE 'Exclua o arquivo cmd = cmddir & /c del /f /q & b end se runcode = shell.run (cmd, 1, true) runing = shell.run (cmddir & /c taskkill /im winrar.exe, 1, false) runing = shell.run (cmddir & /c saída, 1, false) set shell = nada errrinfo%> <%else%> <nome do formul D9D9D9 1PX sólido; cor de fundo:#f7f7f7> ------------------------------------------- -<strong> descompactar o arquivo </strong> ----------------------------------------- ------- onde valor =. request.form (usuário)%>> <entrada TIPO = Nome oculto = PWD Valor = <%= request.form (pwd)%>> </morm> <nome de forma = frm método = pós-ação =? Ação = 0 estilo = borda: #d9d9d9 1px sólido; cor de fundo :#f7f7f7> -------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------> -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- -------------------------------------------------------- ---- O endereço do arquivo que você deseja compactar: <nome de entrada = onde value =./Data/dvbbs7#.mdb tamanho = 50> Você também pode entrar na pasta <br> <br> Caminho de armazenamento e novo nome do arquivo: <nome de entrada = de value = ../data/1. Size = 50> Originalmente substituindo o arquivo com o mesmo nome <br> <BR> <nome de entrada = envio type = submit value = compressão> <time de entrada = nome oculto = valor do usuário = <%= request.form (user)%>> <tipo de entrada = nome oculto = pwd value = <%= request .form (pwd)%>> </morm> <%errinfoend ifelseLogin () end ifsub errinfo se não for isempty (RuCode) e RuCode = 0 então Response.Write (a operação é executada com sucesso, a operação que você enviou é a seguinte: <br> & cmd) senão não se não é o ISEMPTY (RuCODE), então Response.Write (a operação é executada falhou! Talvez suas permissões sejam insuficientes ou o programa não possa ser executado no DOS (prompt de comando). %> <nome do formulário = FRM Método = pós-ação =? Ação = 2 estilo = borda: #d9d9d9 1px Solid; cor de fundo: #f7f7f7> ------------------------ --- -------------------- <strong> Excluir arquivos </strong> ---------------------- ------ -------------------- <br> <br> Por favor, insira o endereço para excluir o arquivo: <nome de entrada = de tamanho = 50 valor = <%= de%>> Pasta, use o caminho absoluto e adicione / no final / <br> <Tipo de entrada = Nome oculto = onde Value = <%se onde <> então Response.Write onde mais alguém resposta. = PWD Value = <%= request.form (pwd)%>> </morm> <br> <%final da subfunção Relatóriofilestatus (FileSpec) Dim fSO Set FSO = CreateObject (scripting.filesystemObject) RelatórioFileStatus = false if (fso.fileExists (FILESPEC)) então relatáriofileStatus = true setObject (script FUNDENDFUNCURNFUNFUNDOUSTUS (FLYR) Dim fSO SET FSO = CreateBject (Script. ) RelatórioSPoldersatus = False if (fso.Polderexists (FLDR)) então RelatórioSFOLDERSTATUS = TRUE SET FSO = NOTHOREND FUNCTIONSUB LOGIN ()%> <Nome de forma = FRM Método = pós-ação =? Ação = 2 estilo = borda: #d9d9d9 1px sólido; colorido de fundo: #f7f7f7> <p> ------ --------------------------- <strong> Sistema de login </strong> ----- ------------- --------------- = senha id = pwd> <br> <br> <entrada Nome = Enviar tipo = Valor de envio = Login> </morm> <%end sub%> </td> </tr> <tr> <td altura = 22 align = Center bgcolor =#ffffff> Copyright © 2008 <A href = // www.vevb.com> vevb wulin.com </a> </td> </tr> </tabela> </body>
Como usar:
1. Carregue diretamente para qualquer diretório do servidor (host virtual) (de preferência o diretório raiz)
2. Use um navegador para acessar o endereço do arquivo winrar.asp
3. Digite o número da conta e a senha (número da conta padrão: CSISP Padrão Padreja: CSISP)
4. Digite o endereço do arquivo winrar (*.Rar) e confirme -o e descompacte -o.
5. Digite o endereço do arquivo que deseja comprimir e, após a confirmação, você pode comprimi -lo!
Lembrete especial: o endereço do arquivo é o endereço relativo deste sistema Winrar!
O servidor usando este programa deve ser instalado com Winrar (servidores usuais estão instalados)
O endereço do programa padrão deste programa é adequado para mais de 99% dos servidores (hosts virtuais)
Se o endereço estiver incorreto, você pode modificar -o.
Os seguintes detalhes e suplementos
1. Criar problemas
À medida que a Internet se desenvolve, o número de sites aumentou com números surpreendentes. Além de fornecer serviços de informação aos internautas, o site também deve se tornar um local para os internautas carregarem e baixarem arquivos. Durante o processo de upload e download de arquivos, o tempo de transmissão é a chave, que requer uma velocidade de transmissão mais rápida. Quando a velocidade de transmissão é fixa ou o para cima e para baixo muda pouco, é uma maneira viável de minimizar o volume do arquivo transferido: Ao fazer o upload do arquivo, primeiro compacte o arquivo a ser carregado com o Winrar e, após o upload, o upload for bem -sucedido, Ele estará no site. Este artigo discute a solução para esse problema.
2. Métodos e instruções
Primeiro, você precisa fazer upload de um programa de descompressão Winrar, que é o próprio programa de descompressão de Winrar. Em seguida, você deseja fazer o upload de um programa que execute o rar.exe. Depois de enviar esses dois arquivos, você precisa escrever algum código do programa para implementar compactação e descompressão.
Você também pode nomear o arquivo que implementa a função de compactação zip.asp e o arquivo que implementa a função de descompressão unzip.asp.
O código do programa contém a sintaxe da linha de comando do aplicativo Winrar, e o seguinte é uma breve introdução:
Winrar <command> -<witch 1> -<switch n> <arquivo compactado> <arquivo ...> <@list file ...> <caminho descomprimido/>
A combinação de caracteres que o comando a ser executado por Winrar representa a função.
Switch Operação Define o tipo, força de compressão, tipo de arquivo de compressão, etc.
O nome do arquivo compactado para processar.
O nome do arquivo a ser processado.
Arquivos de arquivos de lista Os arquivos são texto simples que contêm o nome do arquivo a ser processado. O nome do arquivo deve ser iniciado no volume 1. Você pode adicionar comentários depois de usar // caracteres no arquivo da lista. Por exemplo, você pode criar backup.lst: c:/work/doc/*. : winrar a backup @backup.lst Você pode especificar o nome do arquivo normal e o nome do arquivo da lista na linha de comando.
O caminho de descompressão é usado apenas com os comandos e e x. Indica onde o arquivo descompactado foi adicionado. Se a pasta não existir, ela será criada automaticamente.
Lista de comandos de carta:
| um arquivo add no arquivo compactado | c Adicionar comentários de arquivo comprimido |
| D Excluir arquivo do arquivo comprimido | e descomprimir do arquivo compactado, ignore o caminho |
| f Atualize o arquivo no arquivo compactado | Encontro strings em arquivos compactados |
| K Arquivos compactados de travamento | m Mova arquivos e pastas para arquivos compactados |
| R Reparar arquivos comprimidos danificados | RC reconstruir o volume ausente |
| RN Renomeie o arquivo comprimido | RR [n] Adicionar registro de recuperação de dados |
| RV [n] Crie um volume de recuperação | s [nome] converte arquivos compactados em tipo de arquivo auto-extraído |
| S- excluir o módulo de extração de auto-extração | T Teste arquivos compactados |
| u atualiza arquivos de arquivos compactados | x descomprimir do arquivo compactado com o nome do caminho completo |
De fato, o ponto de chave no código do programa é usar o Server.CreateObject (wscript.shell) para executar o cmd.exe.
3. Lista de procedimentos
Lista de programas zip.asp:
<%'Pasta principal contém cmd.exe rar.exe Por exemplo: o arquivo a ser comprimido (*.mdb)' O diretório de armazenamento compactado é principal/data.Raron Error retomar nextunzip_path = server.mappath (main) e/set wshell = server.createObject (wscript.shell) ISSUCCESS = WSHSHELL.RUN (WINRAR A & UNZIP_PATH & DATA & UNZIP_PATH &*. .> <@list arquivo ...> <Decompressa Path/> 'Comando: A - Adicione ao arquivo compactado se ISSUCESS = 0 O comando thenResponse.write foi executado com sucesso! O comando elseResponse.write falhou em executar! As permissões são insuficientes ou o programa não pode executar o final do ifif err.number <> 0 thenResponse.write <p> Número do erro: & err.numberResponse.write <p> Razão: & err.descriptionResponse.write <p> Fonte de erro: & Err
Lista de programas unzip.asp:
<%'Pasta principal contém o arquivo cmd.exe rar.exe a ser descompactado (*.Rar)' O diretório descompactado é o erro principal, retomar nextunzip_path = server.mappath (main) e/set wshell = server. ISSUCCESS = WSHSHELL.RUN (WINRAR X -R -O+ & UNZIP_PATH &* Arquivo ...> <Decompressa Path/> 'Comando: X - descompacte o caminho completo Path do arquivo compactado' Switch: -r - com o Switch da subpasta ': -O+ - substitua o arquivo existente 'switch: -o- - não substitua o arquivo existente se o comando issuccess = 0 thenResponse.write é executado com sucesso! O comando elseResponse.write falhou em executar! As permissões são insuficientes ou o programa não pode executar o final do ifif err.number <> 0 thenResponse.write <p> Número do erro: & err.numberResponse.write <p> Razão: & err.descriptionResponse.write <p> Fonte de erro: & Err
4. Conclusão
Este artigo usa rar.exe e cmd.exe para realizar a função da compactação on -line e descomprimir arquivos em sites na programação ASP. O método de implementação é simples e há pouco código do programa, que pode ser usado para referência e uso durante a programação prática. Especialmente quando você tem seu próprio servidor, é extremamente útil e conveniente. O programa acima é executado no Windows 2000Sever e IIS 5.0.