以下包含了常用的各種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優化:需要注意以下主要問題博客更新的頻率影響收錄量大型門戶網站優化得出結論:只需做站內優化,沒必要做站外優化