Di bawah ini adalah tutorial terperinci tentang mengoperasikan sistem file FSO yang telah dibagikan oleh editor dengan Anda. Teman yang tertarik, mari kita pelajari tentang hal itu dengan editor!
Menerapkan fungsi:
Daftar Direktori File (Folder) menyediakan pencarian file dan folder di bawah direktori.
Menulis file, pembuatan, dan penghapusan menyediakan operasi pengeditan dan penghapusan file (folder)
Membuat folder/file diatur untuk membuat folder (file).
Unggah File Anda dapat mensimulasikan unggahan FTP, dengan ukuran dan ketik file tanpa batas.
Jika Anda tertarik, Anda tidak akan menanggung konsekuensi apa pun jika Anda memiliki masalah. Di sini saya mengatakan bahwa saya tidak punya banyak waktu untuk menjelajahi internet dan seringkali tidak dapat mengurusnya. Saya melihat bahwa orang sering mengajukan pertanyaan ini baru -baru ini, jadi saya mempostingnya, berharap ini akan membantu.
Upfso.asp // Kontrol file yang diunggah
Salinan kode adalah sebagai berikut:
@ImportUrl ("admin.css");
Server.ScriptTimeout = 999
'up_filetype = "rar, zip, swf, jpg, png, gif, doc, txt, chm, pdf, ace, jpg, mp3, wma, wmv, bmp"
IfRequest.QueryString ("ya") = "Unggah" Lalu
path = trim (permintaan ("path"))
'Response.write (Path & "---")
'Response.end
DIMFSO, FSOISOK, F_FILENAME, MODE
F_filename = trim (request ("nn"))
mode = killint (trim (permintaan ("mode")), 0,0,2)
Fsoisok = 1
SetFSO = server.CreateObject ("Scripting.FilesystemObject")
Iferr0then
Err.clear
Fsoisok = 0
Endif
DIMD_NAME, f_name
Iffsoisok = 1then
Ifinstr (1, path, ":/") = 0then
path = ganti (lcase (path), "/", "/")
path = server.mappath (path)
path = ganti (path & "/", "//", "/")
Kalau tidak
path = ganti (lcase (path), "/", "/")
path = ganti (path & "/", "//", "/")
Endif
IFNOTFSO.Folderexists (Path) lalu
response.write "Pencarian jalur dasar gagal, return" = '#000080'>
respons.end
Endif
Endif
Setfso = tidak ada
Dimfileup
SetFileUp = newupload_file
Fileup.getDate (-1)
DIMF_FILETYPE, f_file
Setf_file = fileup.file ("file")
Iflen (f_filename)
Iflen (f_filename)
response.write ("File kosong, silakan kembalikan") = '#000080'> = 'javascript: history.go (-1);'>
respons.end
Endif
'F_filetype = uCase (f_file.filext)
'Iff_file.filesize> 90000then
'Response.write ("Ukuran melebihi batas") = 'javascript: history.go (-1);'>
'Keluar
IfisValidFileName (f_filename) = falsethen
Response.write ("nama salah") = '#000080'> = 'javascript: history.go (-1);'>
Kalau tidak
Dimfileisexists
SetFSO = server.CreateObject ("Scripting.FilesystemObject")
Fileisexists = fso.fileexists (path & f_filename)
IffileisExists = trueandmode1then
fso.deleteFile (path & f_filename)
Response.write ("File sudah ada, telah dihapus;") = '#000080'>
F_file.savetofilepath & f_filename
Response.write (" Klik di sini untuk melanjutkan pengunggahan:" & path & f_filename & " = '#000080'> ")
Elshelyifileisexists = trueandmode = 1then
Response.write ("File sudah ada, Anda memilih untuk tidak menimpa") = '#000080'>
Kalau tidak
F_file.savetofilepath & f_filename
Response.write (" Klik di sini untuk melanjutkan pengunggahan:" & path & f_filename & " = '#000080'> ")
Endif
Endif
Setf_file = tidak ada
SetFileup = tidak ada
Kalau tidak
DIMPATH, NN, MMODE
nn = trim (permintaan ("nn"))
mmode = trim (permintaan ("mode"))
path = ganti (permintaan ("path"), "//", "/")
Ifpath = "" thenpath = "../ newup/"
Response.write (" ")
Endif
'Nama pengalaman
FunctionIsValidFileName (file_name)
IsValidFileName = false
Dimre, restr
Setre = newregexp
re.ignorecase = true
re.global = true
re.pattern = "[^_/. a-za-z/d]"
restr = re.replace (file_name, "")
Iffile_name = restrthenisValidFileName = true
Setre = tidak ada
Fungsi endfungsi
%>
unggah.asp // unggah kelas
Salinan kode adalah sebagai berikut:
DimoupfileStream
Classupload_file
Dimform, file, err
Privatesubclass_initialize
Err = -1
Endsub
Privatesubclass_terminate
'Clearvariable & Objects
Iferr
oupfileStream.close
Form.removeall
File.removeall
Setform = tidak ada
SetFile = tidak ada
SetoupFileStream = tidak ada
Endif
Endsub
PublicsubgetDate (retsize)
'Definevariabel
Dimequestbindate, sstart, bcrlf, sinfo, iinfostart, iinfoend, tstream, iStart, ofileInfo
DimifileSize, sfilePath, sfiletype, sformValue, sfilename
Dimifindstart, Ifindend
DimiformStart, Iformend, SFormName
IfRequest.totalbytes
Err = 1
EXITSUB
Endif
Ifretsize> 0then
Ifrequest.totalbytes> retsizethen
Err = 2
EXITSUB
Endif
Endif
SetForm = server.CreateObject ("Scripting.Dictionary")
Form.CompareMode = 1
SetFile = server.CreateObject ("Scripting.Dictionary")
File.comParemode = 1
SetStream = server.createObject ("adodb.stream")
SetoupfileStream = server.CreateObject ("adodb.stream")
oupfileStream.type = 1
oupfileStream.mode = 3
oupfileStream.open
oupfileStream.writerquest.binaryRead (request.totalbytes)
oupfileStream.position = 0
RequestBindate = oupFileStream.Read
iformend = oupfileStream.size
bcrlf = chrb (13) & chrb (10)
'Gotseperators
sstart = midb (requestBindate, 1, instrb (1, requestBindate, bcrlf) -1)
Istart = lenb (sstart)
IFORMSTART = ISTART+2
'SplitItems
Melakukan
iinfoend = instrb (IfORMStart, RequestBindate, Bcrlf & Bcrlf) +3
tstream.type = 1
tstream.mode = 3
tstream.open
oupfileStream.position = IformStart
oupfileStream.CopyTotStream, iinfoend-seriferStart
tstream.position = 0
tstream.type = 2
tstream.charset = "UTF-8"
sinfo = tstream.readtext
'GetFormItemname
iformStart = instrb (iinfoend, requestBindate, sStart) -1
ifindstart = instr (22, sinfo, "name =" "", 1) +6
ifindend = instr (ifindstart, sinfo, "" "", 1)
SFormName = mid (Sinfo, IfIndStart, IfIndend-IFindStart)
'Ifit'safile
Ifinstr (45, sinfo, "fileName =" "", 1)> 0then
SetofileInfo = newfileInfo
'GetFileAttributes
ifindStart = instr (ifindend, sinfo, "filename =" "", 1) +10
ifindend = instr (ifindstart, sinfo, "" "", 1)
sfilename = mid (sinfo, ifindstart, ifindend-ifindstart)
OfileInfo.filename = mid (sfilename, instrrev (sfilename, "/")+1)
OfileInfo.FilePath = kiri (SFileName, Instrev (SFilename, "/")))
OfileInfo.FileExt = Mid (SFilename, Instrev (SFileName, ".")+1)
ifindStart = instr (ifindend, sinfo, "tipe konten:", 1) +14
ifindend = instr (ifindstart, sinfo, vbcr)
OfileInfo.filetype = mid (Sinfo, IfindStart, IfIndend-IfindStart)
OfileInfo.filestart = iinfoend
OfileInfo.filesize = IformStart-iinfoend-2
OfileInfo.FormName = SFormName
file.addsformname, OnileInfo
Kalau tidak
'Ifit'sFormItem
tstream.close
tstream.type = 1
tstream.mode = 3
tstream.open
oupfileStream.position = iinfoend
oupfileStream.CopyTotStream, IformStart-iinfoend-2
tstream.position = 0
tstream.type = 2
tstream.charset = "UTF-8"
sformValue = tStream.readtext
Ifform.exists (SFformName) lalu
Form (SFormName) = Form (SFormName) & "," & SFormValue
Kalau tidak
Form.AddsFormName, SFormValue
Endif
Endif
tstream.close
IFORMSTART = IFORMSTART+ISTART+2
'Exitatendoffile
Loopuntil (IformStart+2) = Iformend
RequestBindate = ""
SetStream = tidak ada
Endsub
Endclass
'GetFileInfo
ClassFileInfo
DimFormName, FileName, FilePath, FileSize, FileType, FileStart, Fileext
Privatesubclass_initialize
Nama file = ""
Filepath = ""
FileSize = 0
Filestart = 0
FormName = ""
Filetype = ""
Fileext = ""
Endsub
'SaveFileMethod
PublicFunctionsAvetofile (Fullpath)
Dimofilestream, ErrorChar, i
OnerrorresumeNext
SetOfilestream = createObject ("adodb.stream")
Ofilestream.Type = 1
ofilestream.mode = 3
Ofilestream.open
oupfileStream.position = filestart
oupfileStream.copytoofilestream, filsen
ofilestream.savetofilefullpath, 2
ofilestream.close
Setofilestream = tidak ada
Fungsi endfungsi
'GetFileContent
PublicFunctionGetDate
oupfileStream.position = filestart
GetDate = oupFileStream.read (filese)
Fungsi endfungsi
Endclass
%>
Fungsi inti
Salinan kode adalah sebagai berikut:
DimtheInstalledObjects (17)
TheInstalledObjects (0) = "mswc.adrotator"
TheInstalledObjects (1) = "MSWC.BrowserType"
TheInstalledObjects (2) = "mswc.nextLink"
TheInstalledObjects (3) = "MSWC.Tools"
TheInstalledObjects (4) = "MSWC.Status"
TheInstalledObjects (5) = "MSWC.Countters"
TheInstalledObjects (6) = "iissample.contentRotator"
TheInstalledObjects (7) = "iissample.pagecounter"
TheInstalledObjects (8) = "MSWC.PermissionChecker"
TheInstalledObjects (9) = "Scripting.FilesystemObject"
TheInstalledObjects (10) = "AdodB.Connection"
TheInstalledObjects (11) = "softartisans.fileup"
TheInstalledObjects (12) = "softartisans.fileManager"
TheInstalledObjects (13) = "jmail.smtpmail"
TheInstalledObjects (14) = "cdonts.newmail"
TheInstalledObjects (15) = "Persits.Mailsender"
TheInstalledObjects (16) = "lyfupload.uploadfile"
TheInstalledObjects (17) = "Persits.upload.1"
Dimfso
Ifisobjinstalled (installedObjects (9)) kemudian
SetFSO = server.CreateObject ("Scripting.FilesystemObject")
Endif
FunctionIsObjinstalled (strclassString)
OnerrorresumeNext
Isobjinstalled = false
Err = 0
DimxtestObj
SetxtestoBj = server.createObject (strclassString)
If0 = errthenisobjinstalled = true
SetxtestoBj = tidak ada
Err = 0
Fungsi endfungsi
'Periksa versi komponen
PublicFunctionGetver (ClassStr)
OnerrorresumeNext
DimxtestObj
SetxtestoBj = server.createObject (classstr)
Iferrthen
getver = ""
kalau tidak
getver = xtestoBj.version
endif
SetxtestoBj = tidak ada
Fungsi endfungsi
'Nama pengalaman
FunctionIsValidFileName (file_name)
IsValidFileName = false
Dimre, restr
Setre = newregexp
re.ignorecase = true
re.global = true
re.pattern = "[^_/. a-za-z/d]"
restr = re.replace (file_name, "")
Iffile_name = restrthenisValidFileName = true
Setre = tidak ada
Fungsi endfungsi
'Menulis file
FunctionWriteto (xmlfloder, xmlfile, konten, mode)
writeto = false
Ifnotisobjinstalled (TheInstalledObjects (9)) kemudian mencurahkan fungsi
mode = killint (mode, 0,0,2)
xmlfloder = server.mappath (xmlfloder)
SetFSO = server.CreateObject ("Scripting.FilesystemObject")
IFNOTFSO.FolderExists (xmlfloder) lalu
fso.createFolder (xmlfloder)
Endif
xmlfile = ganti (xmlfloder & "/", "//", "/") & xmlfile
'Response.write (warn_red (xmlfile))
DIMFSOXML
Ifffso.fileexists (xmlfile) andmode = 1then 'tidak menulis
Fungsi keluar
elseifffso.fileexists (xmlfile) andmode = 2then'rewrite
Setfsoxml = fso.opentextFile (xmlfile, 2)
FSOXML.WriteLine (Konten)
fsoxml.close
writeto = true
Elseifffso.fileexists (xmlfile) andmode = 8then'add
Setfsoxml = fso.opentextFile (xmlfile, 8)
FSOXML.WriteLine (Konten)
fsoxml.close
writeto = true
Elseifffso.fileexists (xmlfile) Lalu
SetFSOXML = fso.opentextFile (xmlfile, 2) 'menulis ulang
FSOXML.WriteLine (Konten)
fsoxml.close
writeto = true
Kalau tidak
SetFSOXML = fso.createTextFile (xmlfile) 'create
FSOXML.WriteLine (Konten)
fsoxml.close
writeto = true
Endif
Fungsi endfungsi
'Hapus file
FunctionDelaspfile (x)
OnerrorresumeNext
delaspfile = false
IfnotfileExitornot (x) lalu
Fungsi keluar
Kalau tidak
fso.deleteFileserver.mappath (x)
delaspfile = true
Endif
Fungsi endfungsi
'File itu ada
FunctionFileExitornot (file)
OnerrorresumeNext
DIMF_RE_FILE
f_re_file = true
Ifnotfso.fileexists (server.mappath (file)) thenf_re_file = false
Iferr0thenf_re_file = false
fileexitornot = f_re_file
Fungsi endfungsi
'Penindasan kesalahan, kesalahan cetak
Functionshow_err (err)
OnerrorresumeNext
Iferr.number0then
Respons.clear
DIMERR_MESS
err_mess = " Terjadi kesalahan:
Nomor kesalahan: "& err.number &"
Pesan Kesalahan: "& Err.Description &"
File kesalahan: "& err.source &"
Baris kesalahan: "& err.line &" (tidak didukung)
"&berbuat salah
response.write (err_mess)
Endif
Fungsi endfungsi
'memperingatkan:
Functionwarn_red (kekacauan)
warn_red = " track:" & mess & "
" = merah>
Fungsi endfungsi
Direktori file FSO
FunctionshowallFile (Path)
'OnerRorresUMenext
path = ganti (path, "//", "/")
setFSO = createObject ("Scripting.FilesystemObject")
Dimuploadpath, unggahfolder, objsubfolder, allfile, fileitem, objsubfolder,
Sfilename
Ifinstr (1, path, ":/") = 0then
path = ganti (path, "/", "/")
unggahPath = server.mappath (path)
Kalau tidak
path = ganti (path, "/", "/")
unggahPath = path
Endif
response.write (warn_red (unggahPath))
IFNOTFSO.FolderExists (unggahpath) lalu
response.writeWarn_red ("Path Lookup Failure")
Fungsi keluar
Endif
Setuploadfolder = fso.getFolder (unggahpath)
Ifuploadfolder.isrootfolderthen
response.write (" direktori root
")
Kalau tidak
response.write (" direktori induk:
"& unggahfolder.parentfolder &"
")
Endif
response.write (" Ukuran Direktori:" & int (unggahfolder.size/1024) & "kb
")
setobjsubfolders = unggahfolder.subfolders
DIMFSO_MES
fso_mes = "
foreachobjsubfolderinobjsubfolders
fso_mes = fso_mes & "
Berikutnya
setAllFiles = unggahfolder.files
foreachfileiteminallfile
fso_mes = fso_mes & "
Berikutnya
fso_mes = fso_mes & "
"
response.write (fso_mes)
response.writedeltext (unggahpath, 1)
Fungsi endfungsi
'Properti file
Functionfilepro (nama)
name = ganti (name, "//", "/")
Redupfile yang mana
Ifinstr (1, name, ":/") = 0then
name = ganti (name, "/", "/")
WhatFile = server.mappath (nama)
Kalau tidak
name = ganti (name, "/", "/")
Whatfile = name
Endif
SetFSO = createObject ("Scripting.FilesystemObject")
IFNOTFSO.FileExists (Whatfile) lalu
response.write (warn_red ("File tidak ada atau tidak memiliki izin akses"))
Fungsi keluar
Endif
DIMF2, S_MESS
Setf2 = fso.getFile (WhatFile)
s_mess = " direktori induk:" & f2.parentfolder &
"
"
s_mess = s_mess & "Nama file:" & f2.name & "
"
s_mess = s_mess & "File nama jalur pendek:" & f2.shortpath & "
"
s_mess = s_mess & "File alamat fisik:" & f2.path & "
"
s_mess = s_mess & "atribut file:" & f2.attributes & "
"
s_mess = s_mess & "ukuran file:" & f2.size & "
"
s_mess = s_mess & "Jenis file:" & f2.type & "
"
s_mess = s_mess & "waktu pembuatan file:" & f2.datecreated & "
"
s_mess = s_mess & "waktu akses terbaru:" & f2.datelastAccessed & "
"
s_mess = s_mess & "Waktu modifikasi terbaru:" & f2.dateLastModified & "
"
response.write (s_mess)
Ifkillint (trim (permintaan ("type")), 0,0,2) 0then
ShowText (Whatfile)
Endif
response.writedeltext (whatfile, 0)
Fungsi endfungsi
'
SubshowText (File)
Dimistr, Adostext, Tali
setadostext = server.createObject ("adodb.stream")
adostext.mode = 3
adostext.type = 2
adostext.charset = "GB2312"
'adostext.charset = "BIG5"
adostext.open
Ifinstr (1, file, ":/") = 0then
file = ganti (file, "/", "/")
file = server.mappath (file)
Kalau tidak
file = ganti (file, "/", "/")
file = file
Endif
Adostext.LoadFromFile (file)
strasp = adostext.readtext ()
adostext.close
setadostext = tidak ada%>
FunctionDeltext (file, mode)
DIMDELTEXT_MESS
deltext_mess = ""
SelectCasekillint (Mode, 0,0,2)
Case0:
deltext_mess = deltext_mess & "Operasi File: Properties Edit Seluler Salin Rename Delete " = merah> = merah>
Case1:
deltext_mess = deltext_mess & "Operasi Folder: Daftar Pembuatan Manual File Manual File File Pindahkan Salin Rename dan Hapus " = merah>
Endselect
deltext_mess = deltext_mess & ""
deltext = deltext_mess
Fungsi endfungsi
Di atas adalah tutorial terperinci tentang FSO yang mengoperasikan sistem file. Saya yakin Anda telah mempelajarinya. Untuk konten terkait lebih lanjut, silakan terus perhatikan saluran teknologi Wuxin.