ก่อนอื่นเพิ่มรหัสที่สมบูรณ์
<!-ชื่อ-ASP ออนไลน์การบีบอัดเครื่องมือการบีบอัดลิขสิทธิ์ -vevb wulin.com (www.vevb.com)-> <%@language = vbscript codepage = 936%> <title> ยินดีต้อนรับสู่การใช้ ASP ออนไลน์ เครื่องมือ </title> <body> <table border = 0 width = 80% allign = center cellpacing = 1 cellpadding = 3 style = font-family: verdana; font-size: 14px; border: #000000 1px solid; :# f7f7f7> <tr> <th width = 100% ความสูง = 24 bgcolor =#33ccff> </th> </tr> <tr> <td bgcolor =#33CCFF> <%เซิร์ฟเวอร์. scriptTimeOut = 99999dim winrar, cmddirwinrar = c:/โปรแกรมโปรแกรม/winrar/winrar.exe ' ที่อยู่ของไฟล์ (winrar) cmddir =%windir%/system32/cmd.exe 'cmd.exe' ที่อยู่ของที่อยู่ของผู้ใช้พรอมต์คำสั่ง = CSISSP 'ชื่อผู้ใช้ของโปรแกรมนี้ PWD = CSISSP' เข้าสู่ระบบการบีบอัด และการบีบอัดรหัสผ่านโปรแกรมนี้โปรดตรวจสอบให้แน่ใจว่าได้แก้ไข (อย่างน้อย 8 หลักรหัสผ่านรวมนั้นปลอดภัย!) หาก request.form (ผู้ใช้) = ผู้ใช้และผู้ใช้และ request.form (pwd) = pwd thenResponse.write พา ธ ของโฟลเดอร์นี้: & server.mappath (.) & <br> จาก = request.form (จาก) โดยที่ = request.form (โดยที่) > จากนั้น Dim A, B, Shell, Runing, RunCode, CMD ถ้า INSTR (โดยที่, :) = 0 จากนั้น A = Server.Mappath (& Where &) Else A = โดยที่ IF INS (จาก, :) = 0 ดังนั้น B = Server mappath (& จาก &) อื่น b = จาก 'response.write b ถ้าขวา (b, 1) <>/ และ ซ้าย (ขวา (b, 4), 1) <> (b) การตอบสนองต่อการเขียน (ไม่พบ & b & อาจไม่มีอยู่! ): response.end () runing = cmddir & /c & winrar & x -ibck -t -y -o+ -p & pwd & 'ตั้งค่าคำสั่งให้เรียกใช้การบีบอัด cmd = runing & b & & a &// elseif request.QueryString (การกระทำ) = 0 จากนั้น 'ไฟล์บีบอัดถ้า (ไม่ใช่ ReportFilestatus (a)) และ (ไม่ใช่ ReportFolderStatus (a)) จากนั้น Response.write (ไม่พบ & A & อาจไม่มีอยู่!): การตอบสนอง 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 สิ้นสุดถ้า 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 = ไม่มีอะไร errinfo%> <%else%> <form name = method method = post action =? action = 1 style = border: # d9d9d9 1px ของแข็ง; พื้นหลังสี:#f7f7f7> ------------------------------------- -<strong> คลายซิปไฟล์ </strong> --------------------------------------- ------------ <br> <br> โปรดป้อนที่อยู่ไฟล์ที่บีบอัด RAR: <ชื่ออินพุต = จาก value = 1.rar size = 50> <br> decompress to: <input name = โดยที่ค่า = request.form (ผู้ใช้)%>> <อินพุต type = name hidden = pwd value = <%= request.form (pwd)%>> </form> <ชื่อฟอร์ม = วิธีการ frm = โพสต์การกระทำ =? action = 0 style = border: #d9d9d9 1px solid; :#f7f7f7> ------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ -----------------------------------------> ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------ ---- ที่อยู่ของไฟล์ที่คุณต้องการบีบอัด: <ชื่ออินพุต = โดยที่ value =./data/dvbbs7#.mdb size = 50> คุณยังสามารถป้อนโฟลเดอร์ <br> <br> พา ธ การจัดเก็บและชื่อไฟล์ใหม่: <ชื่ออินพุต = จาก value = ../data/1.rar size = 50> เดิมเขียนทับไฟล์ด้วยชื่อเดียวกัน <br> <br> <ชื่ออินพุต = submit type = submit value = การบีบอัด> <อินพุต type = ชื่อที่ซ่อน = ค่าผู้ใช้ = <%= request.form (ผู้ใช้)%>> <อินพุตประเภท = ชื่อที่ซ่อน = pwd value = <%= คำขอ. form (pwd)%>> </form> <%errinfoend ifelselogin () สิ้นสุด ifsub errinfo หากไม่ isempty (runcode) และ runCode = 0 จากนั้น Response.write (การดำเนินการดำเนินการสำเร็จการดำเนินการที่คุณส่งมีดังนี้: <br> & cmd) อื่น ๆ ไม่ได้เป็น isempty (runcode) จากนั้นตอบสนองการเขียน (การดำเนินการล้มเหลว! บางทีการอนุญาตของคุณไม่เพียงพอหรือโปรแกรมไม่สามารถเรียกใช้ใน DOS (พรอมต์คำสั่ง) %> <ชื่อฟอร์ม = วิธีการ frm = โพสต์แอ็คชั่น =? action = 2 style = border: #d9d9d9 1px solid; พื้นหลังสี: #f7f7f7> ------------------------------ --- ------------------ <strong> ลบไฟล์ </strong> -------------------- ------ ------------------ <br> <br> โปรดป้อนที่อยู่เพื่อลบไฟล์: <ชื่ออินพุต = จาก size = 50 value = <%= จาก%>> โฟลเดอร์โปรดใช้เส้นทางสัมบูรณ์และเพิ่ม / ที่ปลาย / <br> <อินพุตประเภท = ชื่อที่ซ่อน = โดยที่ค่า = <%ถ้า <> ตอบกลับ การตอบสนอง = ค่า pwd = <%= request.form (pwd)%>> </form> <br> <%end function ReportFilestatus (filespec) dim fso set fso = createObject (scripting.filesystemobject) reportfilestatus = false ถ้า (fso.fileexists (filespec)) จากนั้น reportfilestatus = true set fso = ไม่มีฟังก์ชั่น functionfunction ) ReportFoldERSTATUS = FALSE ถ้า (fSO.FolderExists (FLDR)) จากนั้น ReportFoldERSTATUS = True Set FSO = NothingEnd FunctionSub Login ()%> <form name = วิธีการ frm = โพสต์การกระทำ =? action = 2 style = border: #d9d9d9 1px solid; พื้นหลัง-สี: #f7f7f7> <p> --- --------------------- <strong> ระบบเข้าสู่ระบบ </strong> ------ ----------- -------------------- <br> <br> ชื่อผู้ใช้: <ชื่ออินพุต = ค่าผู้ใช้ = CSISSP> </p> รหัสผ่าน: <ชื่ออินพุต = ประเภท PWD = รหัสผ่านรหัส = pwd> <br> <br> <อินพุต name = submit type = submit value = เข้าสู่ระบบ> </form> <%end sub%> </td> </tr> <tr> <td height = 22 Align = center bgcolor =#ffffff> ลิขสิทธิ์© 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 ก่อนและหลังจากการอัปโหลดสำเร็จแล้ว มันจะอยู่ในเว็บไซต์ บทความนี้กล่าวถึงวิธีการแก้ปัญหานี้
2. วิธีการและคำแนะนำ
ก่อนอื่นคุณต้องอัปโหลดโปรแกรมการบีบอัด WinRAR ซึ่งเป็นโปรแกรมการบีบอัดของ Winrar เอง จากนั้นคุณต้องการอัปโหลดโปรแกรมที่ดำเนินการ rar.exe หลังจากอัปโหลดไฟล์สองไฟล์นี้คุณต้องเขียนรหัสโปรแกรมบางส่วนเพื่อใช้การบีบอัดและการบีบอัด
คุณอาจตั้งชื่อไฟล์ที่ใช้ฟังก์ชันการบีบอัด zip.asp และไฟล์ที่ใช้ฟังก์ชันการบีบอัด unzip.asp
รหัสโปรแกรมมีไวยากรณ์บรรทัดคำสั่งของแอปพลิเคชัน WinRAR และต่อไปนี้เป็นคำแนะนำสั้น ๆ :
WinRAR <ommand> -<สวิตช์ 1> -<สวิตช์ n> <ไฟล์บีบอัด> <ไฟล์ ... > <ไฟล์ @List ... > <decompressed path/>
การรวมตัวอักษรที่คำสั่งที่จะเรียกใช้โดย Winrar แสดงถึงฟังก์ชั่น
การใช้สวิตช์สวิตช์กำหนดประเภทความแข็งแรงของการบีบอัดประเภทไฟล์การบีบอัด ฯลฯ
ชื่อไฟล์บีบอัดเพื่อประมวลผล
ชื่อไฟล์ที่จะประมวลผล
รายการไฟล์รายการไฟล์เป็นข้อความธรรมดาที่มีชื่อของไฟล์ที่จะประมวลผล ชื่อไฟล์ควรเริ่มต้นในเล่ม 1 คุณสามารถเพิ่มความคิดเห็นหลังจากใช้ // อักขระในไฟล์รายการ ตัวอย่างเช่นคุณสามารถสร้าง backup.lst: c:/work/doc/*. txt // สำรองเอกสารข้อความ c:/work/image/*. bmp // สำรองภาพ c:/work/bisc และ run ถัดไป : Winrar A สำรอง @backup.lst คุณสามารถระบุชื่อไฟล์ปกติและชื่อไฟล์ในบรรทัดคำสั่ง
เส้นทางการบีบอัดจะใช้กับคำสั่ง e และ x เท่านั้น ระบุตำแหน่งที่เพิ่มไฟล์ disompressed หากโฟลเดอร์ไม่มีอยู่จะถูกสร้างขึ้นโดยอัตโนมัติ
รายการคำสั่งตัวอักษร:
| ไฟล์เพิ่มไปยังไฟล์บีบอัด | c เพิ่มความคิดเห็นไฟล์บีบอัด |
| d ลบไฟล์จากไฟล์บีบอัด | e decompress จากไฟล์ที่ถูกบีบอัดไม่สนใจเส้นทาง |
| f รีเฟรชไฟล์ในไฟล์ที่บีบอัด | ฉันพบสตริงในไฟล์บีบอัด |
| K ล็อคไฟล์บีบอัด | m ย้ายไฟล์และโฟลเดอร์ไปยังไฟล์ที่บีบอัด |
| R ซ่อมแซมไฟล์บีบอัดที่เสียหาย | RC สร้างปริมาณที่ขาดหายไป |
| RN เปลี่ยนชื่อไฟล์บีบอัด | RR [n] เพิ่มบันทึกการกู้คืนข้อมูล |
| RV [n] สร้างปริมาณการกู้คืน | s [ชื่อ] แปลงไฟล์ที่ถูกบีบอัดเป็นประเภทไฟล์ที่สกัดด้วยตนเอง |
| S- ลบโมดูลการสกัดด้วยตนเอง | t ทดสอบไฟล์บีบอัด |
| คุณอัปเดตไฟล์จากไฟล์ที่ถูกบีบอัด | x decompress จากไฟล์ที่ถูกบีบอัดพร้อมชื่อเส้นทางเต็ม |
ในความเป็นจริงจุดสำคัญในรหัสโปรแกรมคือการใช้ Server.CreateObject (wscript.shell) เพื่อดำเนินการ cmd.exe
3. รายการขั้นตอน
รายการโปรแกรม zip.asp:
โฟลเดอร์หลัก <%'ประกอบด้วย cmd.exe rar.exe ตัวอย่างเช่น: ไฟล์ที่จะบีบอัด (*.mdb)' ไดเรกทอรีการจัดเก็บข้อมูลที่บีบอัดเป็นหลัก/data.raron ข้อผิดพลาดกลับมา = Server.CreateObject (WScript.Shell) ISSUCCESS = WSHSHELL.RUN (WinRAR A & UNZIP_PATH & DATA & UNZIP_PATH &*. MDB, 1, FALSE) .> <@List File ... > <decompress path/> 'คำสั่ง: a - เพิ่มลงในไฟล์บีบอัดถ้า issuccess = 0 คำสั่ง thenResponse.write ดำเนินการสำเร็จ! คำสั่ง elseresponse.write ล้มเหลวในการดำเนินการ! การอนุญาตไม่เพียงพอหรือโปรแกรมไม่สามารถเรียกใช้ IFIF ERR.NUMBER <> 0 THENRESPONSE.WRITE <p> หมายเลขข้อผิดพลาด: & err.numberResponse.write <p> เหตุผล: & err.descriptionResponse.write <p> ข้อผิดพลาด: & & & & & & & Err.
รายการโปรแกรม unzip.asp:
โฟลเดอร์หลัก <%'มีไฟล์ cmd.exe rar.exe ที่จะคลายการบีบอัด (*.rar)' ไดเรกทอรีที่บีบอัดคือข้อผิดพลาดของเมน ISSUCCESS = WSHSHELL.RUN (WinRAR X -R -O+ & UNZIP_PATH &*. RAR & UNZIP_Path &, 1, FALSE) 'WinRAR <SOMMAND> -<สวิตช์ 1> -<สวิตช์ N> <ไฟล์บีบอัด> <ไฟล์ ไฟล์ ... > <decompress path/> 'คำสั่ง: x - decompress ไฟล์เต็มพา ธ จากสวิตช์ไฟล์บีบอัด' สวิตช์: -r - พร้อมสวิตช์ย่อยโฟลเดอร์ ': -o+ - เขียนทับไฟล์ 'ที่มีอยู่': -o- - ไม่เขียนทับไฟล์ที่มีอยู่ถ้า issuccess = 0 คำสั่ง thenResponse.write ดำเนินการสำเร็จ! คำสั่ง elseresponse.write ล้มเหลวในการดำเนินการ! การอนุญาตไม่เพียงพอหรือโปรแกรมไม่สามารถเรียกใช้ IFIF ERR.NUMBER <> 0 THENRESPONSE.WRITE <p> หมายเลขข้อผิดพลาด: & err.numberResponse.write <p> เหตุผล: & err.descriptionResponse.write <p> ข้อผิดพลาด: & & & & & & & Err.
4. บทสรุป
บทความนี้ใช้ rar.exe และ cmd.exe เพื่อตระหนักถึงฟังก์ชั่นของการบีบอัดออนไลน์และการบีบอัดไฟล์ในเว็บไซต์ในการเขียนโปรแกรม ASP วิธีการใช้งานนั้นง่ายและมีรหัสโปรแกรมน้อยซึ่งสามารถใช้สำหรับการอ้างอิงและการใช้งานในระหว่างการเขียนโปรแกรมเชิงปฏิบัติ โดยเฉพาะอย่างยิ่งเมื่อคุณมีเซิร์ฟเวอร์ของคุณเองมันมีประโยชน์และสะดวกมาก โปรแกรมข้างต้นทำงานภายใต้ Windows 2000Seever และ IIS 5.0