Ниже приведено подробное руководство по эксплуатации файловой системы FSO, которое редактор поделился с вами. Заинтересованные друзья, давайте узнаем об этом с редактором!
Реализовать функции:
Список каталогов файла (папка) предоставляет поиск файлов и папок под каталогом.
Написание, создание и удаление файлов обеспечивает работу редактирования и удаления файлов (папки)
Создание папок/файлов установлено для создания папок (файлов).
Загрузить файлы. Вы можете смоделировать загрузки FTP с неограниченным размером файла и типом.
Если вы заинтересованы, у вас не будет никаких последствий, если у вас возникнут какие -либо проблемы. Здесь я говорю, что у меня не так много времени для серфинга в Интернете, и я часто не могу позаботиться об этом. Я видел, что люди часто задают этот вопрос недавно, поэтому я опубликовал его, надеясь, что это будет полезно.
upfso.asp // Управление загруженными файлами
Кода -копия выглядит следующим образом:
@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 ("yes") = "загрузить" тогда
path = trim (request ("path"))
'response.write (path & "---")
'response.end
Dimfso, fsoisok, f_filename, режим
F_filename = trim (request ("nn"))
mode = killint (trim (request ("mode")), 0,0,2)
FSOISOK = 1
Setfso = server.createObject ("scripting.filesystemobject")
Iferr0then
Err.clear
FSOISOK = 0
Эндиф
Dimd_name, f_name
Iffsoisok = 1then
Ifinstr (1, path, ":/") = 0then
path = reply (lcase (path), "/", "/")
path = server.mappath (path)
path = reply (path & "/", "//", "/")
Еще
path = reply (lcase (path), "/", "/")
path = reply (path & "/", "//", "/")
Эндиф
ifnotfso.folderexists (path) then
response.write "Основной поиск базового пути, возврат" = '#000080'>
response.end
Эндиф
Эндиф
Setfso = ничего
DimFileUp
SetFileUp = newUpload_file
FileUp.getDate (-1)
Dimf_filetype, f_file
Setf_file = fileup.file ("file")
Iflen (f_filename)
Iflen (f_filename)
response.write ("пустой файл, верните") = '#000080'> = 'javascript: inistory.go (-1);'>
response.end
Эндиф
'F_filetype = ucase (f_file.fileext)
'Iff_file.filesize> 90000then
'Response.write («размер превышает предел») = 'javascript: inistory.go (-1);'>
'Exitsub
Ifisvalidfilename (f_filename) = falsethen
Response.write ("Неправильное имя") = '#000080'> = 'javascript: inistory.go (-1);'>
Еще
Dimfileisexists
Setfso = server.createObject ("scripting.filesystemobject")
Fileisexists = fso.fileexists (path & f_filename)
Iffileisexists = trueAndmode1then
fso.deletefile (path & f_filename)
Response.write («Файл уже существует, был удален;») = '#000080'>
F_file.savetofilepath & f_filename
Response.write (« Нажмите здесь, чтобы продолжить загрузку:« & path & f_filename & » = '#000080'> ")
Elseiffileisexists = trueAndmode = 1then
Response.write («Файл уже существует, вы решили не перезаписать») = '#000080'>
Еще
F_file.savetofilepath & f_filename
Response.write (« Нажмите здесь, чтобы продолжить загрузку:« & path & f_filename & » = '#000080'> ")
Эндиф
Эндиф
Setf_file = ничего
SetFileUp = ничего
Еще
DimPath, NN, MMODE
nn = trim (request ("nn"))
mmode = trim (request ("mode"))
path = reply (request ("path"), "//", "/")
Ifpath = "" thenpath = "../ newup/"
Response.write (" ")
Эндиф
'Имя опыта
FunctionIsValidFilEname (file_name)
Isvalidfilename = false
Dimre, Restr
Setre = newRegexp
re.ignorecase = true
re.global = true
re.pattern = "[^_/. a-za-z/d]"
rtrs = re.replace (file_name, "")
Iffile_name = restrthenisvalidfilename = true
Setre = ничего
Конечная функция
%>
upload.asp // загрузить класс
Кода -копия выглядит следующим образом:
DimoupfileStream
Classupload_file
Dimform, file, err
Privatesubclass_initialize
Err = -1
Заканчивая
PrivateBclass_terminate
'ClearVariables & Objects
Iferr
oupfileStream.close
Форма.Ремовелл
File.removeall
SetForm = ничего
SetFile = ничего
SetoupfileStream = ничего
Эндиф
Заканчивая
Publicsubgetdate (retsize)
'Определите
DimRequestBindate, SSTART, BCRLF, SINFO, IINFOSTART, IINFOEND, TSTREAM, ISTART, Ofileinfo
DiMifilesize, SfilePath, SfileType, SfformValue, SfilEname
DiMifindStart, ifindend
Dimiformstart, iformend, sformname
Ifrequest.totalbytes
Err = 1
Exitsub
Эндиф
Ifretize> 0then
Ifrequest.totalbytes> retsizethen
Err = 2
Exitsub
Эндиф
Эндиф
SetForm = server.createObject ("scripting.dictionary")
Form.comparemode = 1
SetFile = server.createObject ("scripting.dictionary")
File.compareMode = 1
SettStream = server.createObject ("adodb.stream")
SetoupfileStream = server.createObject ("adodb.stream")
oupfileStream.Type = 1
oupfileStream.Mode = 3
OupfileStream.Open
oupfileStream.writeRequest.binaryRead (request.totalbytes)
oupfileStream.position = 0
RequestBindate = oupfileStream.read
iformend = oupfileStream.size
bcrlf = chrb (13) и chrb (10)
'Getseperators
sstart = midb (requestbindate, 1, instrb (1, requestbindate, bcrlf) -1)
ISTART = Lenb (SSTART)
iformstart = iStart+2
'SplitItems
Делать
iinfoend = instrb (iformstart, requestbindate, bcrlf & bcrlf) +3
tstream.type = 1
tstream.mode = 3
tstream.open
oupfileStream.position = iformStart
oupfileStream.copyTotStream, iinfoend-officeStart
tstream.position = 0
tstream.type = 2
tstream.charset = "utf-8"
sinfo = tstream.readtext
'GetFormiteMITMAME
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 = Left (sfilename, instrrev (sfilename, "/"))
Ofileinfo.fileext = mid (sfilename, instrrev (sfilename, ".")+1)
ifindstart = instr (ifindend, sinfo, "content-type:", 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, Ofileinfo
Еще
'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 (sformname) then
Form (sformname) = form (sformname) & "," & sformvalue
Еще
Form.addsformname, sformvalue
Эндиф
Эндиф
tstream.close
iformstart = iformstart+iStart+2
'EsciTatEndOffile
Loopuntil (iformstart+2) = iformend
RequestBindate = ""
SettStream = ничего
Заканчивая
Endclass
'GetFileInfo
ClassFileInfo
DimformName, имя файла, filePath, FileType, FileType, Filestart, FileExt
Privatesubclass_initialize
Filename = ""
FilePath = ""
FileSize = 0
Filestart = 0
Formname = ""
Filetype = ""
FileExt = ""
Заканчивая
'SaveFileMethod
Publicfunctionsavetofile (fullpath)
DimofileStream, TramChar, я
OnerRorResumenext
SetOfileStream = createObject ("adodb.stream")
OfIleStream.Type = 1
OfIleStream.Mode = 3
OfileStream.Open
oupfileStream.position = filestart
oupfileStream.copyToOfIleStream, размером с файлами
OfileStream.SavetoFileFullPath, 2
OfIleStream.Close
SetOfileStream = ничего
Конечная функция
'GetFileContent
PublicfunctionGetDate
oupfileStream.position = filestart
GetDate = oupfileStream.read (FileSize)
Конечная функция
Endclass
%>
Основные функции
Кода -копия выглядит следующим образом:
DimtheinstalledObjects (17)
thinstalledObjects (0) = "mswc.adrotator"
thinstalledObjects (1) = "mswc.browsertype"
thinstalledObjects (2) = "mswc.nextlink"
thinstalledObjects (3) = "mswc.tools"
thinstalledObjects (4) = "mswc.status"
thinstalledObjects (5) = "mswc.counters"
theinstalledObjects (6) = "iissample.contentrotator"
theinstalledObjects (7) = "iissample.pageCounter"
thinstalledObjects (8) = "mswc.permissionchecker"
theinstalledObjects (9) = "scripting.filesystemobject"
thinstalledObjects (10) = "adodb.connection"
theinstalledObjects (11) = "softartisans.fileup"
theinstalledObjects (12) = "softartisans.filemanager"
theinstalledObjects (13) = "jmail.smtpmail"
thinstalledObjects (14) = "cdonts.newmail"
thinstalledObjects (15) = "persits.mailsender"
theinstalledObjects (16) = "lyfupload.uploadfile"
theinstalledObjects (17) = "persits.upload.1"
Dimfso
Ifisobjinstalled (theinstalledObjects (9))
Setfso = server.createObject ("scripting.filesystemobject")
Эндиф
Functionisobjinstalled (strclassstring)
OnerRorResumenext
Isobjinstalled = false
Err = 0
Dimxtestobj
Setxtestobj = server.createObject (strClassString)
If0 = errthenisobjinstalled = true
Setxtestobj = ничего
Err = 0
Конечная функция
'Проверьте версию компонента
Publicfunctiongetver (classstr)
OnerRorResumenext
Dimxtestobj
Setxtestobj = server.createObject (classstr)
Iferrthen
getver = ""
еще
getver = xtestobj.version
эндиф
Setxtestobj = ничего
Конечная функция
'Имя опыта
FunctionIsValidFilEname (file_name)
Isvalidfilename = false
Dimre, Restr
Setre = newRegexp
re.ignorecase = true
re.global = true
re.pattern = "[^_/. a-za-z/d]"
rtrs = re.replace (file_name, "")
Iffile_name = restrthenisvalidfilename = true
Setre = ничего
Конечная функция
'Написание файлов
FunctionWriteTo (XMLFloder, XMLFILE, Content, Mode)
writeto = false
Ifnotisobjinstalled (theinstalledObjects (9)) ThenExitFunction
mode = killint (режим, 0,0,2)
xmlfloder = server.mappath (xmlfloder)
Setfso = server.createObject ("scripting.filesystemobject")
ifnotfso.folderexists (xmlfloder), затем
fso.createfolder (xmlfloder)
Эндиф
xmlfile = reply (xmlfloder & "/", "//", "/") & xmlfile
'response.write (warn_red (xmlfile))
Dimfsoxml
Ifffso.fileexists (xmlfile) andmode = 1then 'не пишет
Выходная функция
elseifffso.fileexists (xmlfile) andmode = 2then'rewrite
Setfsoxml = fso.opentextfile (xmlfile, 2)
fsoxml.writeline (Content)
fsoxml.close
writeto = true
Elseifffso.fileexists (xmlfile) andmode = 8then'Add
Setfsoxml = fso.opentextfile (xmlfile, 8)
fsoxml.writeline (Content)
fsoxml.close
writeto = true
Elseifffso.filexists (xmlfile) тогда
Setfsoxml = fso.opentextfile (xmlfile, 2) 'переписывать
fsoxml.writeline (Content)
fsoxml.close
writeto = true
Еще
Setfsoxml = fso.createtextfile (xmlfile) 'create
fsoxml.writeline (Content)
fsoxml.close
writeto = true
Эндиф
Конечная функция
'Удалить файл
FunctionDelaspfile (x)
OnerRorResumenext
Delaspfile = false
IfnotfileExitornot (x), затем
Выходная функция
Еще
fso.deletefileserver.mappath (x)
Delaspfile = true
Эндиф
Конечная функция
'Файл существует
FunctionFileExitornot (файл)
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
Конечная функция
'Ошибка ошибки, ошибка печати
Functionshow_err (err)
OnerRorResumenext
Iferr.number0then
Response.clear
Dimerr_mess
err_mess = " произошла ошибка:
Номер ошибки: "& err.number &"
Сообщение об ошибке: "& err.description &"
Файл ошибки: "& err.source &"
Строка ошибок: "& err.line &" (не поддерживается)
"& Err
response.write (err_mess)
Эндиф
Конечная функция
'предупреждать:
FunctionWarn_red (Mess)
warn_red = " track:" & mess & "
" = Red>
Конечная функция
'FSO файловой каталог
Functionshowallfile (path)
'Onerrorresumenext
path = reply (path, "//", "/")
setfso = createObject ("scripting.filesystemobject")
Dimuploadpath, uploaddolder, objsubfolders, allfiles, fileitem, objsubfolder,
Sfilename
Ifinstr (1, path, ":/") = 0then
PATH = Заменить (PATH, "/", "/")
uploadpath = server.mappath (path)
Еще
PATH = Заменить (PATH, "/", "/")
uploadpath = path
Эндиф
response.write (warn_red (uploadpath))
ifnotfso.folderexists (uploadpath) тогда
response.writewarn_red ("Поиск пути не удался")
Выходная функция
Эндиф
SetUploadFolder = fso.getFolder (uploadPath)
IfuploadFolder.IsrootFolderThen
response.write (" Root Directory
")
Еще
response.write (" родительский каталог:
"& uploadfolder.parentfolder &"
")
Эндиф
response.write (" Размер каталога:" & int (uploadfolder.size/1024) & "KB
")
setobjsubfolders = uploadfolder.subfolders
Dimfso_mes
fso_mes = "
FOREACHOBJSUBFOLDERINOBJSUBFOLDERSERS
fso_mes = fso_mes & "
следующий
setallfiles = uploadfolder.files
foreachfileiteminallfiles
fso_mes = fso_mes & "
Следующий
fso_mes = fso_mes & "
"
response.write (fso_mes)
response.writedeltext (uploadpath, 1)
Конечная функция
'Свойства файла
FunctionFilePro (имя)
name = reply (name, "//", "/")
DIM, что файл
Ifinstr (1, имя, ":/") = 0then
name = reply (name, "/", "/")
WhatsFile = server.mappath (имя)
Еще
name = reply (name, "/", "/")
Whatfile = имя
Эндиф
Setfso = createObject ("scripting.filesystemobject")
Ifnotfso.fileexists (что файл). Тогда
response.write (warn_red («Файл не существует или не имеет разрешения на доступ»))))
Выходная функция
Эндиф
Dimf2, s_mess
Setf2 = fso.getFile (чтофиль)
s_mess = " родительский каталог:" & f2.parentfolder &
"
"
s_mess = s_mess & "Имя файла:" & f2.name & "
"
S_MESS = S_MESS & "Файл Краткий Путь Имя:" & f2.shortpath & "
"
s_mess = s_mess & "Физический адрес файла:" & f2.path & "
"
s_mess = s_mess & "Атрибут файла:" & f2.attributes & "
"
s_mess = s_mess & "Размер файла:" & f2.size & "
"
s_mess = s_mess & "Тип файла:" & f2.type & "
"
s_mess = s_mess & "Время создания файла:" & f2.datecreated & "
"
s_mess = s_mess & "Последнее время доступа:" & f2.dateLastAccessed & "
"
s_mess = s_mess & "Последнее измененное время:" & f2.datelastmodified & "
"
response.write (s_mess)
Ifkillint (trim (request ("type")), 0,0,2) 0then
ShowText (WhatFile)
Эндиф
response.writedEltext (что файл, 0)
Конечная функция
'
Subshowtext (файлы)
Dimistr, Adostext, ремень
setAdostext = server.createObject ("adodb.stream")
adostext.mode = 3
adostext.type = 2
adostext.charset = "gb2312"
'adostext.charset = "big5"
Adostext.open
Ifinstr (1, файлы, ":/") = 0then
files = reply (files, "/", "/")
files = server.mappath (файлы)
Еще
files = reply (files, "/", "/")
файлы = файлы
Эндиф
adostext.loadfromfile (файлы)
strasp = adostext.readtext ()
Adostext.close
setAdostext = ничего%>
FunctionDelText (файл, режим)
Dimdeltext_mess
deltext_mess = ""
SelectCaseKillint (режим, 0,0,2)
Case0:
delText_mess = delText_mess & "Операция файла: свойства редактируют мобильную копию ренеругу удалить " = Red> = Red>
Case1:
deltext_mess = deltext_mess & "Операция папки: Руководство по каталогу создания списка Файл . = Red>
Endselect
deltext_mess = deltext_mess & ""
delText = delText_mess
Конечная функция
Выше приведено подробное руководство по FSO, управляющему файловой системой. Я считаю, что вы это узнали. Для получения более связанного контента, пожалуйста, продолжайте обращать внимание на канал технологии Wuxin.