まず、完全なコードを追加します
<! - name-aspオンライン減圧、圧縮ツールCopyright -vevb wulin.com(www.vevb.com) - > <%@言語= vbscript codepage = 936%> <title> ASPオンライン減圧、圧縮を使用するようになりましたツール< /title> <body> <table border = 0 width = 80%align = center cellpacing = 1 cellpadding = 3 style = font-family:verdana; font-size:14px; border:#000000 1px solid; background-color :#f7f7f7> <tr> <th width = 100%高さ= 24 BGCOLOR =#33CCFF> </TH> </TR> <TR> <TD BGCOLOR =#33CHFF> <%SERVER.SCRIPTTIMEOUT = 99999DIM WINRAR、CMDDIRWINRAR = C:/プログラムファイル/WINRAR.EXE '圧縮ファイルのアドレス(winrar)cmddir =%windir%/system32/cmd.exe 'cmd.exe'コマンドプロンプトユーザーのアドレスのアドレス= csissp 'このプログラムのユーザー名pwd = csissp'ログイン、圧縮、このプログラムパスワードの減圧は、必ず変更してください(少なくとも8桁のパスワードを組み合わせたパスワードは安全です!)request.form(user)= user and and and request.form(pwd)= pwd thnresponse.writeこのフォルダーのパス:&server.mappath(。)&<br> from = request.form(from)where = request.form(where)from <> and where < >次に、dim a、b、shell、runing、runcode、cmd if strust(where、:)= 0 then a = server.mappath(&where&)else a = where if strunt(from、:)= 0 then b = server。 mappath(&from&)else b = from 'respons.write b right(b、1)<>/ and左(右(b、4)、1)<>。 (b)その後、Response.Write(見つかりません&B&が存在しない可能性があります! ):Response.End()runing = cmddir& /c&winrar&x -ibck -t -y -o+ -p&pwd& 'コマンドを設定して減圧を実行します。 cmd = runing&b&&/ elsif request.querystring(action)= 0 then 'file if(reportfilestatus(a))および(not reportfolderstatus(a))then respons.write(a&a&mayは存在しない!):応答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& '圧縮。 cmd = runing&b&&a else 'ファイルを削除する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 = nothing errinfo%> <%else%> <form name = frm method = post action =?action = 1 style = border:# D9D9D9 1PX Solid; Background-Color:#f7f7f7> ------------------------------------------------------------------------------------ - <strong>ファイルを解凍</strong> ------------------------------------------------------------------------------- ------------ <br> <br> RAR圧縮ファイルアドレスを入力してください:<入力名=値= 1.rar size = 50> <br>減圧:<入力名= value =。 request.form(user)%>> <入力type = hidden name = pwd value = <%= request.form(pwd)%>> </form> <form name = frm method = post action =?action = 0 style = border:#d9d9d9 1px solid; background-color :#f7f7f7> ---------------------------------------------------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- -----------------------------------------------------> -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- -------------------------------------------------------------- ----圧縮するファイルのアドレス:<入力名= where value =。/data/dvbbs7#.mdbサイズ= 50>フォルダーを入力することもできます<br> <br>ストレージパスと新しいファイル名:<input name = from value = ../data/1.rar size = 50>元々は同じ名前でファイルを上書きします<br> <br> <input name = submit type = submit value = compression> <入力タイプ=非表示名=ユーザー値= <%= request.form(user)%>> <入力タイプ=非表示名= pwd値= <%= request .form(pwd)%>> </form> <%errinfoend ifelselogin()end ifsub errinfo isempty(runcode)and runcode = 0 then Response.write(操作は正常に実行されます、提出した操作は次のとおりです。<br>&cmd)たぶん、あなたの許可は不十分であるか、プログラムがDOSで実行できません(コマンドプロンプト)。 %> <form name = frm method = post action =?action = 2 style = border:#d9d9d9 1px solid; background-color:#f7f7f7> ------------------------------------------------------------------------------------------------------------------------------------- -------------------- <strong>削除ファイル</strong> ------------------------------------------------------------------------------------------------------------------------- ------ --------------- <br> <br>アドレスを入力してファイルを削除してください:<入力名= from size = 50 value = <%= from%>> folder絶対パスを使用し、最後に追加 / <br> <入力タイプ= hidden name = hwere value = <%if where <> then then respons.where where応答。 = pwd値= <%= request.form(pwd)%>> </form> <br> <%end subfunction ReportFileStatus(fileSpec)dim fso set fso = create object(scripting.filesystemobject)reportfileStatus = false if(fso.fileexists(fileSpec))then set fso = nageend functionfunction report function reportfolderstatus(fldr)dim fso = create fse )ReportFolderStatus = false if(fso.folderexists(fldr))then REPORTFOLDERSTATUS = TRUE SET FSO = Nothing functionsub login()%> <form name = frm method = post action =?action = 2 style = border:#d9d9d9 1px solid; background-color:#f7f7f7> <p> ---------------------------------------------------- ------------------------- <strong>ログインシステム</strong> --------------------------------------------------------------------- -------------------- <br> <br>ユーザー名:<入力名=ユーザー値= csissp> </p>パスワード:<入力名= PWDタイプ=パスワードid = pwd> <br> <br> <入力name = submit type = submit 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>
使い方:
1。サーバー上の任意のディレクトリに直接アップロード(仮想ホスト)(できればルートディレクトリ)
2。ブラウザを使用して、winrar.aspファイルアドレスにアクセスします
3.アカウント番号とパスワードを入力します(デフォルトアカウント番号:CSISPデフォルトパスワード:CSISP)
4. Winrarファイル(*.rar)のアドレスを入力して確認して減圧します。
5.圧縮するファイルのアドレスを入力し、確認後、圧縮できます!
特別なリマインダー:ファイルアドレスは、このWinrarシステムの相対アドレスです!
このプログラムを使用するサーバーは、winrarでインストールする必要があります(通常のサーバーがインストールされます)
このプログラムのデフォルトプログラムアドレスは、サーバーの99%以上(仮想ホスト)に適しています
アドレスが正しくない場合は、自分でそれを変更できます。
次の詳細とサプリメント
1。問題の上昇
インターネットが発展するにつれて、ウェブサイトの数は驚くべき数で増加しています。ネチズンに情報サービスを提供することに加えて、ウェブサイトはネチズンがファイルをアップロードしてダウンロードする場所にもなります。ファイルのアップロードとダウンロードの過程で、送信時間がキーであり、これにはより速い伝送速度が必要です。送信速度が固定されている場合、または上下がほとんど変化しない場合、転送されたファイルのボリュームを最小限に抑えるための実行可能な方法です。ファイルをアップロードするときは、ファイルを最初にwinrarでアップロードします。アップロードが成功した後、 Webサイトでは、プログラムをダウンロードするときに、プログラムを通じてファイルを圧縮してからダウンロードします。この記事では、この問題の解決策について説明します。
2。方法と指示
まず、Winrar独自の減圧プログラムであるWinrar減圧プログラムをアップロードする必要があります。次に、rar.exeを実行するプログラムを実行します。これら2つのファイルをアップロードした後、圧縮と減圧を実装するためにプログラムコードを記述する必要があります。
圧縮関数zip.aspを実装するファイルと、減圧関数unzip.aspを実装するファイルにも名前を付けることができます。
プログラムコードには、アプリケーションWinrarのコマンドライン構文が含まれています。以下は簡単な紹介です。
winrar <command> - <switch 1> - <switch n> <圧縮ファイル> <ファイル...> <@Listファイル...> <減圧パス/>
Winrarによって実行されるコマンドが関数を表すキャラクターの組み合わせ。
スイッチスイッチ操作は、タイプ、圧縮強度、圧縮ファイルタイプなどを定義します。
処理する圧縮ファイル名。
処理するファイル名。
リストファイルリストファイルは、処理するファイルの名前を含むプレーンテキストです。ファイル名はボリューム1で開始する必要があります。リストファイルに//文字を使用した後にコメントを追加できます。たとえば、backup.lst:c:/work/doc/*。txt//バックアップテキストドキュメントC:/work/image/*。bmp//画像C:/work/miscおよび次の実行を作成できます。 :winrar backup @backup.lstコマンドラインで通常のファイル名とリストファイル名の両方を指定できます。
減圧パスは、コマンドeとxでのみ使用されます。減圧ファイルが追加された場所を示します。フォルダーが存在しない場合、自動的に作成されます。
文字コマンドのリスト:
| 圧縮ファイルにファイルを追加します | c圧縮ファイルのコメントを追加します |
| d圧縮ファイルからファイルを削除します | e圧縮ファイルから減圧、パスを無視します |
| f圧縮ファイルのファイルを更新します | 圧縮ファイルに文字列があります |
| K圧縮ファイルをロックします | mファイルとフォルダーを圧縮ファイルに移動します |
| r損傷した圧縮ファイルを修復します | RCは、欠落しているボリュームを再構築します |
| RNは圧縮ファイルの名前を変更します | RR [n]データリカバリレコードを追加します |
| RV [n]リカバリボリュームを作成します | s [name]は、圧縮ファイルを自己抽出ファイルタイプに変換します |
| S-自己抽出モジュールを削除します | Tテスト圧縮ファイル |
| u圧縮ファイルからファイルを更新します | xフルパス名を持つ圧縮ファイルから減圧します |
実際、プログラムコードの重要なポイントは、server.createobject(wscript.shell)を使用してcmd.exeを実行して、winrarコマンドを介して解像度のファイルと圧縮ファイルを実行します。
3。手順リスト
zip.aspプログラムリスト:
<% 'メインフォルダーにはcmd.exe rar.exeが含まれています。たとえば、圧縮するファイル(*.mdb)'圧縮ストレージディレクトリはメイン/data.raronエラーresume nextunzip_path = server.mappath(main)&/set wshshell = server.createobject(wscript.shell)insuccess = wshshell.run(winrar a&unzip_path&unzip_path&*。 。> <@Listファイル...> <path/> 'コマンド:a- Issuccess = 0の場合は圧縮ファイルに追加されますthonreResponse.writeコマンドは正常に実行されました! elseresponse.writeコマンドは実行に失敗しました!アクセス許可が不十分であるか、プログラムが終了できませんifif err.number <> 0 thoneResponse.write <p>エラー番号:&err.numberResponse.write <p>理由:&err.descriptionResponse.write <p>エラーソース:&& err
unzip.aspプログラムリスト:
<% 'メインフォルダーにはcmd.exe rar.exeファイルが減圧されます(*.rar)'は、メインソンエラーのresume nextunzip_path = server.mappath(main)&/set wshels = server(wscript.shell)です。 Issuccess = wshshell.run(winrar x -r -o+&unzip_path&*。rar&unzip_path&、1、false)ファイル...> <path/> 'コマンド:x-圧縮ファイルからファイルのフルパスを減圧する'スイッチ:-r-サブフォルダー 'スイッチ: -o+ - 既存のファイルを上書きする 'switch:-o--既存のファイルを上書きしないでください。 elseresponse.writeコマンドは実行に失敗しました!アクセス許可が不十分であるか、プログラムが終了できませんifif err.number <> 0 thoneResponse.write <p>エラー番号:&err.numberResponse.write <p>理由:&err.descriptionResponse.write <p>エラーソース:&& err
4。結論
この記事では、rar.exeとcmd.exeを使用して、ASPプログラミングのWebサイトのオンライン圧縮と解凍ファイルの機能を実現します。実装方法は簡単で、プログラムコードはほとんどありません。これは、実用的なプログラミング中に参照と使用に使用できます。特にあなた自身のサーバーを持っているとき、それは非常に便利で便利です。上記のプログラムは、Windows 2000SeverおよびIIS 5.0で実行されます。