Ini adalah browser file FSO yang ditulis menggunakan objek koleksi FSO (jika Anda bersikeras mengatakan itu adalah Trojan, saya tidak keberatan). Secara fungsional, ini meniru desain "Trojan Top of the Ocean", tetapi kodenya sepenuhnya ditulis ulang . Menggunakan komponen seperti Shell.Aplikasi yang dapat dengan mudah menyebabkan pembunuhan tidak disengaja oleh perangkat lunak anti-virus. Ada banyak alat serupa di Internet. Nilai guna alat ini tidak terlalu bagus, tetapi banyak kode di dalamnya yang dianggap ditulis dengan baik.
Fitur utama meliputi: Melihat informasi disk, menelusuri file disk, dan mengoperasikan dengan cara yang mirip dengan Windows Explorer, seperti membuat, menghapus, mengganti nama, menyalin, memindahkan, dan operasi file teks dasar lainnya.
Pengunduhan file mode streaming menyederhanakan dan mengoptimalkan pengemasan/pembongkaran file unggahan bebas komponen. Folder dapat dikemas/dibongkar sepenuhnya.
Cuplikan kode:
1. Bagian pengemasan/pembongkaran file
-
-
- Sub Paket ( ByVal FPath, ByVal sDbPath)
- Server.ScriptTimeOut=900
- Redupkan DbPath
- Jika Benar(sDbPath,4)= ".mdb" Kemudian
- DbPath=sDbPath
- Kalau tidak
- DbPath=sDbPath ".mdb"
- Akhir Jika
- Jika oFso.FolderExists(DbPath) Lalu
- EchoBack "Tidak dapat membuat file basis data!" &Ganti(DbPath, ""," \")
- KELUAR Sub
- Akhir Jika
- Jika oFso.FileExists(DbPath) Lalu
- oFso.DeleteFile DbPath
- Akhir Jika
- Jika IsFolder(FPath) Lalu
- RootPath=DapatkanParentFolder(FPath)
- Jika Benar(RootPath,1)<> "" Maka RootPath=RootPath&" "
- Kalau tidak
- EchoBack "Silakan masukkan jalur folder!"
- KELUAR Sub
- Akhir Jika
- Redupkan oCatalog,connStr,DataName
- Setel samb=Server.CreateObject( "ADODB.Connection" )
- Setel oStream=Server.CreateObject( "ADODB.Stream" )
- Setel oCatalog=Server.CreateObject( "ADOX.Catalog" )
- Setel rs=Server.CreateObject( "ADODB.RecordSet" )
- Pada Kesalahan Melanjutkan Berikutnya
- connStr = "Penyedia=Microsoft.Jet.OLEDB.4.0; Sumber Data=" & DbPath
- oKatalog.Buat koneksi
- Jika Salah Lalu
- EchoBack "Tidak dapat membuat file basis data!" &Ganti(DbPath, ""," \")
- KELUAR Sub
- Akhir Jika
- Setel oKatalog= Tidak ada
- samb.Buka samb.Str
- conn.Execute( "Buat File Tabel(ID int IDENTITY(0,1) PRIMARY KEY CLUSTERED, FilePath VarChar, FileData Image)" )
- oStream.Buka
- oStream.Jenis=1
- rs.Buka "File" , samb.3,3
- NamaData=Kiri(oFso.GetFile(DbPath).Nama,InstrRev(oFso.GetFile(DbPath).Nama, "." )-1)
- NoPackFiles=Ganti(NoPackFiles, "<$datafile>" ,NamaData)
- Daftar File Gagal= ""
- PaketFolderFPath
- Jika Daftar File Gagal= "" Kemudian
- EchoClose "Pengemasan folder berhasil!"
- Kalau tidak
- Respon.Tulis "<link rel= stylesheet type= text/css href= ?page=css >"
- Response.Tulis "<Bahasa Skrip= JavaScript >alert( Pemaketan folder selesai!nBerikut daftar file yang gagal dikemas: );</Script>"
- Respon.Tulis "<body>" &Replace(FailFilelist, "|" , "<br>" ) "</body>"
- Akhir Jika
- oStream.Tutup
- rs.Tutup
- samb.Tutup
- Akhir Sub
-
- Sub PaketFolder(Jalur Folder)
- Jika Bukan IsFolder(FolderPath) Lalu KELUAR Sub
- Redupkan Folder,sFile,sFolder
- Setel oFolder=oFso.GetFolder(FolderPath)
- Untuk Setiap sFile Di oFolder.Files
- Jika InStr(NoPackFiles, "|" &sFile.Name "|" )<1 Lalu
- PackFile sFile.Jalur
- Akhir Jika
- Berikutnya
- Setel sFile = Tidak Ada
- Untuk Setiap sFolder Di oFolder.SubFolder
- PackFolder sFolder.Jalur
- Berikutnya
- Setel sFolder= Tidak ada
- Akhir Sub
-
- Sub PaketFile(Jalur File)
- Redupkan RelPath
- RelPath=Ganti(FilePath,RootPath, "" )
-
- Pada Kesalahan Melanjutkan Berikutnya
- Err. Jelas
- Salah= Salah
- oStream.LoadFromFile FilePath
- rs.TambahBaru
- rs( "Jalur File" )=Jalur Rel
- rs( "FileData" )=oStream.Baca()
- rs.Perbarui
- Jika Salah Lalu
-
- FailFilelist=FailFilelist&Jalur File "|"
- Akhir Jika
- Akhir Sub
-
-
- Sub Buka Paket(vFolderPath,DbPath)
- Server.ScriptTimeOut=900
- Redupkan FilePath,FolderPath,sFolderPath
- FolderPath=vFolderPath
- FolderPath=Potong(FolderPath)
- Jika Tengah(FolderPath,2,1)<> ":" Kemudian
- EchoBack "Format jalur salah dan direktori tidak dapat dibuat!"
- KELUAR Sub
- Akhir Jika
- Jika Benar(FolderPath,1)= "" Kemudian FolderPath=Kiri(FolderPath,Len(FolderPath)-1)
- Koneksi redupStr
- Setel samb=Server.CreateObject( "ADODB.Connection" )
- Setel oStream=Server.CreateObject( "ADODB.Stream" )
- Setel rs=Server.CreateObject( "ADODB.RecordSet" )
- connStr = "Penyedia=Microsoft.Jet.OLEDB.4.0; Sumber Data=" & DbPath
- Pada Kesalahan Melanjutkan Berikutnya
- Salah= Salah
- samb.Buka samb.Str
- Jika Salah Lalu
- EchoBack "Kesalahan pembukaan basis data!"
- KELUAR Sub
- Akhir Jika
- Salah= Salah
- oStream.Buka
- oStream.Jenis=1
- rs.Buka "File" , samb.1,1
- Daftar File Gagal= ""
- Melakukan Sampai rs.EOF
- Err. Jelas
- Salah= Salah
- Jalur File=Jalur Folder ""&rs(" Jalur File")
- FilePath=Ganti(FilePath, "\"," ")
- sFolderPath=Kiri(FilePath,InStrRev(FilePath, "" ))
- Jika Bukan oFso.FolderExists(sFolderPath) Lalu
- BuatFolder(sFolderPath)
- Akhir Jika
- oStream.SetEos()
- oStream.Tulis rs( "FileData" )
- oStream.SaveToFile FilePath,2
- Jika Salah Lalu
- FailFilelist=FailFilelist&rs( "FilePath" ).Nilai "|"
- Akhir Jika
- rs.MoveNext
- Lingkaran
- rs.Tutup
- Setel rs = Tidak ada
- samb.Tutup
- Setel samb= Tidak ada
- Setel oStream = Tidak Ada
- Jika Daftar File Gagal= "" Kemudian
- EchoClose "Pembongkaran file berhasil!"
- Kalau tidak
- Respon.Tulis "<link rel= stylesheet type= text/css href= ?page=css >"
- Response.Write "<Bahasa Skrip= JavaScript >alert(Paket folder selesai!nBerikut daftar file yang gagal dipaket, silakan dicek);</Script>"
- Respon.Tulis "<body>" &Replace(FailFilelist, "|" , "<br>" ) "</body>"
- Akhir Jika
- Akhir Sub
-
2. Bagian unggah file (file tunggal):
- Saveupload ( ByVal Nama Folder)
- Jika Bukan IsFolder (Nama Folder) Lalu
- EchoClose "Tidak ada folder unggahan yang ditentukan!"
- KELUAR Sub
- Akhir Jika
- Jalur Redup ,
- Jalur IsOverWrite=Nama Folder
- Jika Benar(Jalur,1)<> "" Lalu Jalan=Jalur&" "
- NamaFile=Ganti(Permintaan( "nama file" ), ""," ")
- Jika Len(Nama File)<1 Lalu
- EchoBack "Silakan pilih file dan masukkan nama file!"
- KELUAR Sub
- Akhir Jika
- Jalur=Jalur
- Jika LCase(Permintaan( "timpa" ))= "benar" Maka
- IsOverWrite= Benar
- Lain
- IsOverWrite= Salah
- Akhir Jika
- Pada Kesalahan Melanjutkan Berikutnya
- Hubungi MyUpload(Path,IsOverWrite)
- Jika Err Lalu
- EchoBack "Upload file gagal! (File mungkin sudah ada)"
- Lain
- EchoClose "File berhasil diunggah!n" & Ganti(namafile, "", " \")
- Akhir Jika
- Berakhir
- sub
file - Sub MyUpload (FilePath, IsOverWrite)
- Redupkan oStream,tStream,NamaFile,sData,sSpace,sInfo,iSpaceEnd,iInfoStart,iInfoEnd,iFileStart,iFileEnd,iFileSize,RequestSize,bCrLf
- RequestSize=Request.TotalBytes
- Jika RequestSize<1 Lalu KELUAR Sub
- Setel oStream=Server.CreateObject( "ADODB.Stream" )
- Setel tStream=Server.CreateObject( "ADODB.Stream" )
- Dengan oStream
- .Type=1
- .Mode=3
- .Open
- .Write=Request.BinaryRead(RequestSize)
- .Position=0
- sData=.Read
- bCrLf=ChrB(13)&ChrB(10)
- iSpaceEnd=InStrB(sData,bCrLf)-1
- sSpace =LeftB(sData,iSpaceEnd)
- iInfoStart=iSpaceEnd+3
- iInfoEnd=InStrB(iInfoStart,sData,bCrLf&bCrLf)-1
- iFileStart=iInfoEnd+5
- iFileEnd=InStrB(iFileStart,sData,sSpace)-3
- sData= ""
- iFileSize=iFileEnd-iFileStart+1
- tStream.Type=1
- tStream.Mode=3
- tStream.Open
- .Position=iFileStart-1
- .CopyTo tStream,iFileSize
- Jika IsOverWrite Kemudian
- tStream.SaveToFile FilePath,2
- Lain
- tStream.SaveToFile FilePath
- Akhir Jika
- tStream.Tutup
- .Tutup
- Akhir Dengan
- SettStream = Tidak ada
- Setel oStream= Tidak Ada
- Akhir Sub