Pertama, tambahkan kode lengkap
<!-Nama-Dekompresi Online ASP, Alat Kompresi Hak Cipta -VEVB Wulin.com (www.vevb.com)-> <%@language = vbscript codepage = 936%> <Title> Selamat datang menggunakan Dekompresi Online ASP, Kompresi Tool < /title> <body> <tabel border = 0 lebar = 80% align = cents cellpacing = 1 cellpadding = 3 style = font-family: verdana; font-size: 14px; border: #000000 1px solid; latar belakang-color :# f7f7f7> <tr> <lebar = 100% tinggi = 24 bgcolor =#33ccff> </t> </tr> <tr> <td bgcolor =#33ccff> <%server.scripttimeout = 99999Dim Winrar, cmddirwinrar = c:/file program/winrar/winrar.exe 'kompresi' Alamat file (winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe' alamat alamat perintah command prompt = csiss 'nama pengguna program ini pwd = Csissp' login, kompresi, dan dekompresi kata sandi program ini, pastikan untuk memodifikasi (setidaknya 8 digit kata sandi gabungan aman!) Jika request.form (pengguna) = pengguna dan request.form (pwd) = pwd kemudian response.write jalur folder ini: & server.mappath (.) & <br> dari = request.form (dari) di mana = request.form (di mana) jika dari <> dan di mana < > Kemudian redup a, b, shell, runing, runcode, cmd if instr (where,::) = 0 lalu a = server.mappath (& di mana &) else a = di mana if instr (from,:) = 0 lalu b = server. mappath (& from &) else b = from 'response.write b if right (b, 1) <>/ dan kiri (kanan (b, 4), 1) <>. (b) Lalu response.write (tidak ditemukan & b & mungkin tidak ada! ): Response.end () runing = cmddir & /c & winrar & x -ibck -t -y -o+ -p & pwd & 'atur perintah untuk menjalankan dekompresi. Cmd = runing & b & & a &/ elseif request.QueryString (ACTION) = 0 Lalu 'Compress File if (not ReportFilestatus (a)) dan (bukan ReportFolderstatus (a)) kemudian response.write (tidak ditemukan & a & mungkin tidak ada!): Response. End () cmd = cmddir & /c del /f /q & b runcode = shell.run (cmd, 1, true) runing = cmddir & /c & winrar & a -ibck -y -oP -o+ -p & pwd & kompresi. Cmd = runing & b & & a else 'hapus file cmd = cmddir & /c del /f /q & b end jika 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) atur shell = nothing errinfo%> <%else%> <bentuk nama = frm metode = post action =? Action = 1 style = border: # D9D9D9 1PX solid; latar belakang-warna:#f7f7f7> ----------------------------------------- -<strong> unzip file </strong> ----------------------------------- ------------ <br> <br> Harap masukkan alamat file terkompresi rar: <input name = from value = 1.rar size = 50> <br> decompress ke: <input name = Where Value =. request.form (user)%>> <input type = name tersembunyi = nilai pwd = <%= request.form (pwd)%>> </form> <form name = frm metode = post action =? action = 0 style = border: #d9d9d9 1px solid; latar belakang-warna :#f7f7f7> ---------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------> -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ---- Alamat file yang ingin Anda kompres: <input name = where value =./Data/dvbbs7#.mdb size = 50> Anda juga dapat memasukkan folder <br> <br> jalur penyimpanan dan nama file baru: <input name = from value = ../data/1.rar size = 50> Awalnya menimpa file dengan nama yang sama <br> <br> <input name = kirim tipe = kirim nilai = kompresi> <input type = name tersembunyi = nilai pengguna = <%= request.Form (user)%>> <input type = hidden name = pwd value = <%= request .Form (pwd)%>> </form> <%errinfoend ifelselogin () end ifsub errinfo jika bukan isempty (runcode) dan RUNCODE = 0 Lalu response.write (Operasi ini berhasil dieksekusi, operasi yang Anda kirimkan adalah sebagai berikut: <br> & cmd) elseif not iSempty (runcode) Kemudian response.write (operasi dieksekusi gagal! Mungkin izin Anda tidak mencukupi atau program tidak dapat berjalan di DOS (command prompt). %> <bentuk nama = metode frm = post action =? action = 2 style = border: #d9d9d9 1px solid; latar belakang-warna: #f7f7f7> ------------------ --- ------------------ <strong> hapus file </strong> -------------------- ------ ------------------ <br> <br> Harap masukkan alamat untuk menghapus file: <input name = dari size = 50 value = <%= dari%>> folder Harap gunakan jalur absolut dan tambahkan / di ujung / <br> <input type = hidden name = where value = <%jika <> lalu response.write di mana lagi respons. = nilai pwd = <%= request.Form (pwd)%>> </form> <br> <%subfungsi akhir ReportFilestatus (filespec) redup fso set fso = createObject (scripting.filesystemObject) ReportFilestatus = false if (fso.fileexists (filespec)) kemudian reportFilestatus = set true fso = nothing functionFunctionFunctionStatus (fldr) dimo set fso fso = create fso = nothing functionFunctionFunctionStatus (fldr) dimo set fso fso = create fso = nothing functionFunction. ) ReportFolderstatus = false if (fso.folderexists (fldr)) kemudian ReportFolderstatus = set true fso = Nothing FunctionSub Login ()%> <Form name = FRM Metode = Post Action =? Action = 2 Style = Border: #D9D9D9 1PX SOLID; latar belakang-warna: #f7f7f7> <p> ------ ------------------------- <strong> sistem login </strong> ----- ----------- ------------- = ID Kata Sandi = PWD> <br> <br> <input Name = Kirim Tipe = Kirim Nilai = Login> </form> <%End Sub%> </td> </tr> <tr> <td tinggi = 22 align = center bgcolor =#ffffff> Hak cipta © 2008 <a href = // www.vevb.com> vevb wulin.com </a> </td> </tr> </able> </body>
Bagaimana menggunakan:
1. Unggah langsung ke direktori apa pun di server (host virtual) (lebih disukai direktori root)
2. Gunakan browser untuk mengakses alamat file winrar.asp
3. Masukkan nomor akun dan kata sandi (nomor akun default: Kata sandi default CSISP: CSISP)
4. Masukkan alamat file winrar (*.rar) dan konfirmasikan dan mendekompresnya.
5. Masukkan alamat file yang ingin Anda kompres, dan setelah konfirmasi, Anda dapat mengompresnya!
Pengingat Khusus: Alamat file adalah alamat relatif dari sistem WinRar ini!
Server yang menggunakan program ini harus diinstal dengan WinRar (server biasa diinstal)
Alamat program default program ini cocok untuk lebih dari 99% server (virtual host)
Jika alamatnya salah, Anda dapat memodifikasinya sendiri.
Detail dan Suplemen berikut
1. Meningkatkan masalah
Ketika Internet berkembang, jumlah situs web telah meningkat dengan angka yang luar biasa. Selain memberikan layanan informasi kepada netizen, situs web ini juga harus menjadi tempat bagi netizen untuk mengunggah dan mengunduh file. Selama proses mengunggah dan mengunduh file, waktu transmisi adalah kuncinya, yang membutuhkan kecepatan transmisi yang lebih cepat. Ketika kecepatan transmisi diperbaiki atau sedikit berubah dan turun sedikit, itu adalah cara yang layak untuk meminimalkan volume file yang ditransfer: saat mengunggah file, pertama -tama kompres file yang akan diunggah dengan Winrar, dan setelah unggahan berhasil, itu akan ada di situs web. Artikel ini membahas solusi untuk masalah ini.
2. Metode dan instruksi
Pertama, Anda perlu mengunggah program dekompresi Winrar, yang merupakan program dekompresi Winrar sendiri. Maka Anda ingin mengunggah program yang mengeksekusi rar.exe. Setelah mengunggah kedua file ini, Anda perlu menulis beberapa kode program untuk mengimplementasikan kompresi dan dekompresi.
Anda mungkin juga memberi nama file yang mengimplementasikan fungsi kompresi zip.asp, dan file yang mengimplementasikan fungsi dekompresi unzip.asp.
Kode program berisi sintaks baris perintah dari aplikasi WinRar, dan berikut ini adalah pengantar singkat:
WinRar <command> -<switch 1> -<switch n> <file terkompresi> <file ...> <@list file ...> <decompressed path/>
Kombinasi karakter yang dijalankan perintah untuk dijalankan oleh Winrar mewakili fungsi.
Operasi sakelar sakelar menentukan jenis, kekuatan kompresi, jenis file kompresi, dll.
Nama file terkompresi untuk diproses.
Nama file yang akan diproses.
Daftar File File Daftar adalah teks sederhana yang berisi nama file yang akan diproses. Nama file harus dimulai pada volume 1. Anda dapat menambahkan komentar setelah menggunakan // karakter dalam file daftar. Misalnya, Anda dapat membuat backup.lst: c:/work/doc/*. Txt // cadangan dokumen teks c:/work/image/*. Bmp // cadangan gambar c:/work/misc dan selanjutnya jalankan selanjutnya : winrar a cadangan @backup.lst Anda dapat menentukan nama file normal dan daftar nama file di baris perintah.
Jalur dekompresi hanya digunakan dengan perintah E dan X. Menunjukkan di mana file yang didekompresi ditambahkan. Jika folder tidak ada, itu akan dibuat secara otomatis.
Daftar Perintah Surat:
| file tambahkan ke file terkompresi | c Tambahkan komentar file terkompresi |
| D Hapus file dari file terkompresi | E dekompresi dari file terkompresi, abaikan jalur |
| f Segarkan file dalam file terkompresi | saya menemukan string dalam file terkompresi |
| k kunci terkompresi file | m memindahkan file dan folder ke file terkompresi |
| r perbaikan file terkompresi rusak | RC membangun kembali volume yang hilang |
| RN ganti nama file terkompresi | RR [n] Tambahkan catatan pemulihan data |
| RV [n] Buat volume pemulihan | S [Nama] Mengubah file terkompresi menjadi jenis file yang diekstraksi sendiri |
| s- hapus modul pengeksprak mandiri | uji file terkompresi |
| u Perbarui file dari file terkompresi | x Decompress dari file terkompresi dengan nama jalur lengkap |
Faktanya, titik kunci dalam kode program adalah menggunakan server.createObject (wscript.shell) untuk mengeksekusi cmd.exe.
3. Daftar Prosedur
Daftar Program Zip.asp:
<%'folder utama berisi cmd.exe rar.exe misalnya: File yang akan dikompres (*.mdb)' Direktori penyimpanan terkompresi adalah utama/data.raron resume 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> <file. .> <@list file ...> <decompress path/> 'perintah: a - tambahkan ke file terkompresi jika issuccess = 0 Perintah The ThenResponse.write berhasil dieksekusi! Perintah Elseresponse.Write gagal dieksekusi! Izinnya tidak mencukupi atau program tidak dapat menjalankan end ifif err.number <> 0 then response.write <p> Nomor kesalahan: & err.numberResponse.write <p> Alasan: & err.descriptionResponse.write <p> Sumber kesalahan: & Err
Daftar program unzip.asp:
<%'Folder utama berisi file cmd.exe rar.exe yang akan didekompresi (*.rar)' Dekompresi Direktori adalah 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 <command> -<switch 1> -<switch n> <compress file> <file.> <@List File ...> <Decompress Path/> 'Perintah: x - File Decompress Jalur lengkap dari file terkompresi' sakelar: -r - dengan subfolder 'sakelar: -O+ - Timpa file yang ada 'sakelar: -O- - tidak menimpa file yang ada jika issuccess = 0 then response.write perintah dieksekusi dengan sukses! Perintah Elseresponse.Write gagal dieksekusi! Izinnya tidak mencukupi atau program tidak dapat menjalankan end ifif err.number <> 0 then response.write <p> Nomor kesalahan: & err.numberResponse.write <p> Alasan: & err.descriptionResponse.write <p> Sumber kesalahan: & Err
4. Kesimpulan
Artikel ini menggunakan rar.exe dan cmd.exe untuk mewujudkan fungsi kompresi online dan dekompresi file di situs web dalam pemrograman ASP. Metode implementasi sederhana dan ada sedikit kode program, yang dapat digunakan untuk referensi dan penggunaan selama pemrograman praktis. Terutama ketika Anda memiliki server sendiri, itu sangat berguna dan nyaman. Program di atas dijalankan di bawah Windows 2000sever dan IIS 5.0.