Tout d'abord, ajoutez un code complet
<! - Nom - ASP en ligne décompression, outil de compression Copyright -vevb wulin.com (www.vevb.com) -> <% @ linguisse = vbscript codepage = 936%> <itle> Bienvenue pour utiliser la décompression en ligne ASP, la compression Tool </Title> <Body> <Table Border = 0 Width = 80% Align = Center CellPacing = 1 CellPadding = 3 Style = Font-Family: Verdana; Font-Size: 14px; Border: # 000000 1PX solide; fond-couleur : # f7f7f7> <tr> <th largeur = 100% height = 24 bgColor = # 33ccff> </th> </tr> <tr> <td bgcolor = # 33ccff> <% server.scripttimeout = 99999dim winrar, cmddirwinrar = c: / programme files / winrar / winrar.exe 'compression' compression ' L'adresse du fichier (winrar) cmddir =% windir% / system32 / cmd.exe 'cmd.exe' Adresse de l'adresse de l'invite de commande utilisateur = csissp 'le nom d'utilisateur de ce programme pwd = csissp' connexion, compression, compression, compression, compression, compression, compression, compression, compression, compression, compression, et la décompression de ce mot de passe du programme, assurez-vous de modifier (au moins 8 chiffres que les mots de passe combinés sont sûrs!) Si request.form (utilisateur) = utilisateur et request.form (pwd) = pwd thenresponse.write le chemin de ce dossier: & server.mappath (.) & <br> from = request.form (from) where = request.form (where) if de <> et where <where < > puis dim a, b, shell, runing, runcode, cmd if instlin (où, :) = 0 alors a = server.mappath (& where &) else a = where if instr (from,:) = 0 alors b = server. Mappath (& From &) else b = de 'Response.Write B si bien (b, 1) <> / et gauche (droite (b, 4), 1) <>. (b) puis réponse.write (non trouvé et b & peut ne pas exister! ): Réponse.end () runing = cmddir & / c & winrar & x -ibck -t -y -o + -p & pwd & 'définissez la commande pour exécuter la décompression. Cmd = runing & b & & a & / elseif request.queryString (action) = 0 alors 'compress fichier if (pas reportFileStatus (a)) et (pas reportFolderstatus (a)) puis réponse.write (non trouvé et a & peut ne pas exister!): Réponse. 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 & 'compression. Cmd = runing & b & & a else 'supprimer le fichier 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 = rien Errrinfo%> <% else%> <form name = frm method = post-action =? Action = 1 style = border: # d9d9d9 1px solide; fond-couleur: # f7f7f7> ----------------------------------------- - <strong> dézip le fichier </strong> --------------------------------------- ------------ <br> <br> Veuillez saisir l'adresse du fichier compressé RAR: <Nom de l'entrée = de valeur = 1.Rar size = 50> <br> Décompressez: <Nom de l'entrée = où la valeur =. request.form (utilisateur)% >> <entrée type = name caché = pwd value = <% = request.form (pwd)% >> </ form> <form name = frm metheth = post-action =? action = 0 style = border: # d9d9d9 1px solide; background-color : # f7f7f7> ---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------> -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---- L'adresse du fichier que vous souhaitez compresser: <name d'entrée = où value =. / Data / dvbbs7 # .mdb size = 50> Vous pouvez également saisir le dossier <br> <br> Chemin de stockage et nouveau nom de fichier: <name d'entrée = de la valeur = .. / data / 1.rar size = 50> Écraser à l'origine le fichier avec le même nom <br> <br> <name input = soumider type = soumider value = compression> <input type = caché name = user value = <% = request.form (utilisateur)% >> <entrée type = name caché = pwd value = <% = request .form (pwd)% >> </ form> <% errinfoend ifelsElogin () end ifsub errinfo sinon isEmpty (runcode) et Runcode = 0 puis réponse.write (l'opération est exécutée avec succès, l'opération que vous avez soumise est la suivante: <br> & cmd) Elseif pas IsEmpty (runcode) puis réponse.write (l'opération est exécutée a échoué! Peut-être que vos autorisations sont insuffisantes ou que le programme ne peut pas s'exécuter en DOS (invite de commande). %> <form name = frm méthode = post-action =? Action = 2 style = border: # d9d9d9 1px solide; fond-couleur: # f7f7f7> ------------------ --- ------------------ <strong> Supprimer les fichiers </strong> -------------------- ------ ------------------ <br> <br> Veuillez saisir l'adresse pour supprimer le fichier: <Nom de l'entrée = depuis size = 50 value = <% = de% >> dossier Veuillez utiliser le chemin absolu et ajouter / à la fin / <br> <Type d'entrée = nom caché = où valeur = <% si où <> alors réponse.Write où ailleurs réponse. = valeur pwd = <% = request.form (pwd)% >> </ form> <br> <% final subfunction ReportFileStatus (filespec) dim fso set fso = createObject (scripting.fileSystemObject) reportFileStatus = false if (fso.fileExists (filespec)) puis reportFileStatus = true set fso = newend functionfunction reportfolderstatus (fldr) dim fso set fso = createObject (scripting.Fonction. ) Reportfolderstatus = false if (fso.folderexists (fldr)) puis ReportFolderstatus = true set fso = neingEnd functionSub ligin ()%> <form name = frm metheth = post action =? Action = 2 style = border: # d9d9d9 1px solide; background-color: # f7f7f7> <p> --- - ------------------------- <strong> Système de connexion </strong> ----- ----------- -------------------- <br> <br> Nom d'utilisateur: <Nom de l'entrée = Valeur utilisateur = CSISSP> </p> Mot de passe: <Nom de l'entrée = Type PWD = id de mot de passe = Pwd> <br> <br> <entrée name = soumider type = soumider value = ligin> </ 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>
Comment utiliser:
1. Téléchargez directement sur n'importe quel répertoire sur le serveur (hôte virtuel) (de préférence le répertoire racine)
2. Utilisez un navigateur pour accéder à l'adresse du fichier winrar.asp
3. Entrez le numéro de compte et le mot de passe (numéro de compte par défaut: CSISP Mot de passe par défaut: CSISP)
4. Entrez l'adresse du fichier winrar (* .rar) et confirmez-le et décompressez-le.
5. Entrez l'adresse du fichier que vous souhaitez compresser, et après confirmation, vous pouvez le compresser!
Rappel spécial: L'adresse du fichier est l'adresse relative de ce système Winrar!
Le serveur utilisant ce programme doit être installé avec Winrar (les serveurs habituels sont installés)
L'adresse du programme par défaut de ce programme convient à plus de 99% des serveurs (hôtes virtuels)
Si l'adresse est incorrecte, vous pouvez la modifier vous-même.
Les détails et suppléments suivants
1. Risser des problèmes
À mesure que Internet se développe, le nombre de sites Web a augmenté avec des nombres incroyables. En plus de fournir des services d'information aux internautes, le site Web devrait également devenir un lieu de téléchargement pour télécharger et télécharger des fichiers. Pendant le processus de téléchargement et de téléchargement de fichiers, le temps de transmission est la clé, ce qui nécessite une vitesse de transmission plus rapide. Lorsque la vitesse de transmission est fixée ou que le haut et le bas ne changent que peu, c'est un moyen possible de minimiser le volume du fichier transféré: lors du téléchargement du fichier, compressez d'abord le fichier à télécharger avec Winrar, et après le succès du téléchargement, Il sera dans le site Web. Cet article traite de la solution à ce problème.
2. Méthodes et instructions
Tout d'abord, vous devez télécharger un programme de décompression Winrar, qui est le propre programme de décompression de Winrar. Ensuite, vous souhaitez télécharger un programme qui exécute Rar.exe. Après avoir téléchargé ces deux fichiers, vous devez écrire un code de programme pour implémenter la compression et la décompression.
Vous pourriez aussi bien nommer le fichier qui implémente la fonction de compression Zip.asp et le fichier qui implémente la fonction de décompression unzip.asp.
Le code du programme contient la syntaxe de ligne de commande du winrar de l'application, et ce qui suit est une brève introduction:
WinRar <ROMAND> - <Switch 1> - <Switch N> <Fichier compressé> <File ...> <@List File ...> <Decompressious Path />
La combinaison de caractères que la commande exécutée par Winrar représente la fonction.
L'opération de commutateur du commutateur définit le type, la résistance à la compression, le type de fichier de compression, etc.
Le nom de fichier compressé à traiter.
Le nom de fichier à traiter.
Lister les fichiers lister les fichiers en texte brut contenant le nom du fichier à traiter. Le nom du fichier doit être démarré sur le volume 1. Vous pouvez ajouter des commentaires après avoir utilisé // des caractères dans le fichier de liste. Par exemple, vous pouvez créer Backup.lst: c: / work / doc / *. Txt // Document texte de sauvegarde c: / work / image / *. : winrar a backup @ backup.lst Vous pouvez spécifier à la fois le nom de fichier normal et la liste du nom de fichier dans la ligne de commande.
Le chemin de décompression n'est utilisé qu'avec les commandes E et X. Indique où le fichier décompressé a été ajouté. Si le dossier n'existe pas, il sera créé automatiquement.
Liste des commandes de lettres:
| un fichier ajouter au fichier compressé | C Ajouter des commentaires de fichiers compressés |
| D Supprimer le fichier du fichier compressé | E décompression du fichier compressé, ignorez le chemin |
| F Actualiser le fichier dans le fichier compressé | Je trouve des chaînes dans des fichiers compressés |
| k verrouillage des fichiers compressés | M Déplacez les fichiers et dossiers dans des fichiers compressés |
| R Réparer les fichiers compressés endommagés | RC Reconstruire le volume manquant |
| RN renommer le fichier compressé | rr [n] ajouter un enregistrement de récupération des données |
| RV [n] Créer un volume de récupération | S [Nom] convertit les fichiers compressés en type de fichier auto-extrait |
| S- Supprimer le module auto-extrait | T Test Fichiers compressés |
| U Mettez à jour les fichiers à partir de fichiers compressés | X décompression du fichier compressé avec le nom du chemin complet |
En fait, le point clé du code du programme consiste à utiliser Server.CreateObject (wscript.shell) pour exécuter cmd.exe.
3. Liste des procédures
Liste des programmes zip.asp:
<% 'Le dossier principal contient cmd.exe rar.exe par exemple: le fichier à compresser (* .mdb)' Le répertoire de stockage compressé est main / data.raron error reprendre nextUnzip_path = server.mappath (main) & / set wshshell = server.createObject (wscript.shell) issucess = wshshell.run (winrar a & unzip_path & data & unzip_path & *. mdb, 1, false) 'winrar <rand> - <commutateur 1> - <Switch n> <compress Fichier> <file. .> <Fichier @List ...> <décompress path /> 'Commande: A - Ajouter au fichier compressé si issucess = 0 La commande theRsesponse.write a été exécutée avec succès! La commande elseResponse.write n'a pas réussi à exécuter! Les autorisations sont insuffisantes ou le programme ne peut pas s'exécuter fini iFIF err.number <> 0 thenresponse.write <p> Numéro d'erreur: & err.numberResponse.write <p> Raison: & err.descriptingsponse.write <p> Erreur Source: & Err.
Liste des programmes unzip.asp:
<% 'Le dossier principal contient le fichier cmd.exe rar.exe à décompresser (* .rar)' Le répertoire décompressé est l'erreur MainOn reprendre NextUnzip_path = server.mappath (main) & / set wshshell = server. Issucess = wshshell.run (winrar x -r -o + & unzip_path & *. Rar & unzip_path &, 1, false) 'winrar <rand> - <switch 1> - <switch n> <compress fichier> <file. Fichier ...> <décompress path /> 'Commande: x - décompression du fichier Full Chemin à partir du fichier compressé' Switch: -r - avec le sous-dossier 'switch: -O + - Écraser le commutateur de fichier existant: -o- - ne pas écraser le fichier existant si issucess = 0 theNesponse.write commande exécute avec succès! La commande elseResponse.write n'a pas réussi à exécuter! Les autorisations sont insuffisantes ou le programme ne peut pas s'exécuter fini iFIF err.number <> 0 thenresponse.write <p> Numéro d'erreur: & err.numberResponse.write <p> Raison: & err.descriptingsponse.write <p> Erreur Source: & Err.
4. Conclusion
Cet article utilise Rar.exe et Cmd.exe pour réaliser la fonction de la compression en ligne et de la décompression des fichiers dans des sites Web dans la programmation ASP. La méthode d'implémentation est simple et il y a peu de code de programme, qui peut être utilisé pour référence et utilisation pendant la programmation pratique. Surtout lorsque vous avez votre propre serveur, il est extrêmement utile et pratique. Le programme ci-dessus est exécuté sous Windows 2000Sever et IIS 5.0.