以下包含了常用的各种asp常用文件操作函数:如创建一个指定的文件,建立文件目录,检查文件是否存在,删除文件目录,移动删除文件,读取文件内容等
<%
'创建一个指定的文件函数,可选参数,文件内容,文件目录与文件生成类型
function createtextfile(byval content,byval filedir,byval code)
dim fileobj,filecode : filedir=replace(filedir, \, /)
if isnul(code) then filecode=gbk else filecode=code
call createfolder(filedir,filedir)
on error resume next:err.clear
set fileobj=objfso.createtextfile(server.mappath(filedir),true)
fileobj.write(content)
set fileobj=nothing
if err or not isnul(code) then
err.clear
with objstream
.charset=filecode:.type=2:.mode=3:.open:.position=0
.writetext content:.savetofile server.mappath(filedir), 2
.close
end with
end if
if err then createtextfile=false : errid=err.number:errdes=err.description:err.clear : echoerr err_writefile,errid,errdes else createtextfile=true
end function
'建立文件存储对象函数
function createstreamfile(byval stream,byval filedir)
dim errid,errdes
filedir=replace(filedir, \, /)
call createfolder(filedir,filedir)
on error resume next
with objstream
.type =1
.mode=3
.open
.write stream
.savetofile server.mappath(filedir),2
.close
end with
if err then error.clear:createstreamfile=false else createstreamfile=true
end function
'建立文件目录函数
function createfolder(byval dir,byval dirtype)
dim subpatharray,lensubpatharray, pathdeep, i
on error resume next
dir=replace(dir, \, /)
dir=replace(server.mappath(dir), server.mappath(/), )
subpatharray=split(dir, \)
pathdeep=pathdeep&server.mappath(/)
select case dirtype
case filedir
lensubpatharray=ubound(subpatharray) - 1
case folderdir
lensubpatharray=ubound(subpatharray)
end select
for i=1 to lensubpatharray
pathdeep=pathdeep&\&subpatharray(i)
if not objfso.folderexists(pathdeep) then objfso.createfolder pathdeep
next
if err then createfolder=false : errid=err.number:errdes=err.description:err.clear : echoerr err_createfolder,errid,errdes else createfolder=true
end function
'检查文件是否存在函数
function isexistfile(byval filedir)
on error resume next
if (objfso.fileexists(server.mappath(filedir))) then isexistfile=true else isexistfile=false
if err then err.clear:isexistfile=false
end function
'检查文件目录是否存在函数
function isexistfolder(byval folderdir)
on error resume next
if objfso.folderexists(server.mappath(folderdir)) then isexistfolder=true else isexistfolder=false
if err then err.clear:isexistfolder=false
end function
'删除文件目录函数
function delfolder(byval folderdir)
on error resume next
if isexistfolder(folderdir)=true then
objfso.deletefolder(server.mappath(folderdir))
if err then delfolder=false : errid=err.number : errdes=err.description:err.clear : echoerr err_delfolder,errid,errdes else delfolder=true
else
delfolder=false : die(err_notexistfolder)
end if
end function
'删除文件函数
function delfile(byval filedir)
on error resume next
if isexistfile(filedir)=true then objfso.deletefile(server.mappath(filedir))
if err then delfile=false : errid=err.number : errdes=err.description:err.clear : echoerr err_delfile,errid,errdes else delfile=true
end function
'检查文件是否存在函数
function initializeallobjects()
dim errid,errdes
on error resume next
if not isobject(objfso) then set objfso=server.createobject(fso_obj_name)
if err then errid=err.number:errdes=err.description:err.clear:echoerr err_fsoobj,errid,errdes
if not isobject(objstream) then set objstream=server.createobject(stream_obj_name)
if err then errid=err.number:errdes=err.description:err.clear:echoerr err_stmobj,errid,errdes
end function
'检查文件操作组件函数
function terminateallobjects()
on error resume next
if conn.isconnect then conn.close
if isobject(conn) then : set conn=nothing
if isobject(objfso) then set objfso=nothing
if isobject(objstream) then set objstream=nothing
if isobject(cacheobj) then set cacheobj=nothing
if isobject(mainclassobj) then set mainclassobj=nothing
if isobject(gxmlhttpobj) then set gxmlhttpobj=nothing
end function
'移动文件目录函数
function movefolder(oldfolder,newfolder)
dim voldfolder,vnewfolder
voldfolder=oldfolder
vnewfolder=newfolder
on error resume next
if voldfolder <> vnewfolder then
voldfolder=server.mappath(oldfolder)
vnewfolder=server.mappath(newfolder)
if not objfso.folderexists(vnewfolder) then createfolder newfolder,folderdir
if objfso.folderexists(voldfolder) then objfso.copyfolder voldfolder,vnewfolder : objfso.deletefolder(voldfolder)
if err then movefolder=false : errid=err.number : errdes=err.description:err.clear : echoerr err_movefolder,errid,errdes else movefolder=true
end if
end function
'移动文件函数
function movefile(byval src,byval target,byval opertype)
dim srcpath,targetpath
srcpath=server.mappath(src)
targetpath=server.mappath(target)
if isexistfile(src) then
objfso.copyfile srcpath,targetpath
if opertype=del then delfile src
movefile=true
else
movefile=false
end if
end function
'取得文件夹列表函数
function getfolderlist(byval cdir)
dim filepath,objfolder,objsubfolder,objsubfolders,i
i=0
redim folderlist(0)
filepath=server.mappath(cdir)
set objfolder=objfso.getfolder(filepath)
set objsubfolders=objfolder.subfolders
for each objsubfolder in objsubfolders
redim preserve folderlist(i)
with objsubfolder
folderlist(i)=.name&,文件夹,&.size/1000&kb,&.datelastmodified&,&cdir&/&.name
end with
i=i + 1
next
set objfolder=nothing
set objsubfolders=nothing
getfolderlist=folderlist
end function
'取得文件列表函数
function getfilelist(byval cdir)
dim filepath,objfolder,objfile,objfiles,i
i=0
redim filelist(0)
filepath=server.mappath(cdir)
set objfolder=objfso.getfolder(filepath)
set objfiles=objfolder.files
for each objfile in objfiles
redim preserve filelist(i)
with objfile
filelist(i)=.name&,&mid(.name, instrrev(.name, .) + 1)&,&.size/1000&kb,&.datelastmodified&,&cdir&/&.name
end with
i=i + 1
next
set objfiles=nothing
set objfolder=nothing
getfilelist=filelist
end function
'读取文件内容函数
function loadfile(byval filepath)
dim errid,errdes
on error resume next
with objstream
.type=2
.mode=3
.open
.charset=gbk
'die server.mappath(filepath)
.loadfromfile server.mappath(filepath)
'if err then errid=err.number:errdes=err.description:err.clear:echoerr err_loadfile,errid,errdes
.position=0
loadfile=.readtext
.close
end with
end function
%>
新媒体公众号有哪些赚钱的方法?Spark 静态内存管理详解互联网服务:从个性化到人性化这些网站建设的法则你必须知道!制作的网站如何在速度方面于对手黑河SEO优化:需要注意以下主要问题博客更新的频率影响收录量大型门户网站优化得出结论:只需做站内优化,没必要做站外优化