最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 编程开发 > asp教程

Asp开发中文件操作函数集技巧

日期:06-24    来源:中国设计秀    作者:cnwebshow.com

<% '===============asp 文件操作函数集1.0版本========================= bUA中国设计秀
'     整理作者: 张辉 bUA中国设计秀
'     程序员代号:WJ008 bUA中国设计秀
'     整理时间:2008年 6 月 1 日 bUA中国设计秀
'     关注地址:www.wj008.net bUA中国设计秀
'     所有函数使用的文件地址 全部使用绝对地址 bUA中国设计秀
'==================================================================== bUA中国设计秀
'LoadFile(ByVal File) 加载已经有的文件,并把文件的内容生成一个字符串返回 bUA中国设计秀
'SaveToFile(ByVal strBody,ByVal File) 把更改的文件保存,strBody为新的字符串 bUA中国设计秀
'DelFile(ByVal File)    删除已有的文件 bUA中国设计秀
'加载已经有的文件,File为文件路径 bUA中国设计秀
'------------------------------------------------------------------- bUA中国设计秀
Function LoadFile(ByVal File) bUA中国设计秀
Dim objStream bUA中国设计秀
On Error Resume Next bUA中国设计秀
Set objStream = Server.CreateObject("ADODB.Stream") bUA中国设计秀
If Err.Number=-2147221005 Then bUA中国设计秀
Response.Write " 非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序" bUA中国设计秀
Err.Clear bUA中国设计秀
Response.End bUA中国设计秀
End If bUA中国设计秀
With objStream bUA中国设计秀
.Type = 2 bUA中国设计秀
.Mode = 3 bUA中国设计秀
.Open bUA中国设计秀
.LoadFromFile File bUA中国设计秀
If Err.Number<>0 Then bUA中国设计秀
Response.Write " 文件"&File&"无法被打开,请检查是否存在!" bUA中国设计秀
Err.Clear bUA中国设计秀
Response.End bUA中国设计秀
End If bUA中国设计秀
.Charset = "GB2312" bUA中国设计秀
.Position = 2 bUA中国设计秀
LoadFile = .ReadText bUA中国设计秀
.Close bUA中国设计秀
End With bUA中国设计秀
Set objStream = Nothing bUA中国设计秀
End Function bUA中国设计秀
'------------------------------------------------------------------- bUA中国设计秀
Function SaveToFile(ByVal strBody,ByVal File) '保存打开的文件,File为保存的文件路径,strBody为保存的内容 bUA中国设计秀
Dim objStream bUA中国设计秀
On Error Resume Next bUA中国设计秀
Set objStream = Server.CreateObject("ADODB.Stream") bUA中国设计秀
If Err.Number=-2147221005 Then bUA中国设计秀
Response.Write "<div align='center'>非常遗憾,您的主机不支持ADODB.Stream,不能使用本程序</div>" bUA中国设计秀
Err.Clear bUA中国设计秀
Response.End bUA中国设计秀
End If bUA中国设计秀
With objStream bUA中国设计秀
.Type = 2 bUA中国设计秀
.Open bUA中国设计秀
.Charset = "GB2312" bUA中国设计秀
.Position = objStream.Size bUA中国设计秀
.WriteText = strBody bUA中国设计秀
.SaveToFile File,2 bUA中国设计秀
.Close bUA中国设计秀
End With bUA中国设计秀
Set objStream = Nothing bUA中国设计秀
End Function bUA中国设计秀
'------------------------------------------------------------------- bUA中国设计秀
Function DelFile(ByVal File) bUA中国设计秀
Dim objFilesys bUA中国设计秀
On Error Resume Next bUA中国设计秀
Set objFilesys=server.createobject("scripting.filesystemobject") bUA中国设计秀
If objFilesys.FILEExists(File) then '如果文件存在着删除它 FILE为文件路径 bUA中国设计秀
objFilesys.deleteFILE File bUA中国设计秀
End if bUA中国设计秀
If Err.Number<>0 Then bUA中国设计秀
Response.Write " 文件"&File&"无法被删除,可能文件正在被系统使用中!" bUA中国设计秀
Err.Clear bUA中国设计秀
Response.End bUA中国设计秀
End If bUA中国设计秀
Set objFilesys=nothing bUA中国设计秀
End FunctionbUA中国设计秀

'检查文件是否存在 bUA中国设计秀
Function CheckFile(sFileName) bUA中国设计秀
CheckFile=false bUA中国设计秀
Dim objFilesys bUA中国设计秀
On Error Resume Next bUA中国设计秀
Set objFilesys=server.createobject("scripting.filesystemobject") bUA中国设计秀
If objFilesys.FILEExists(sFileName) then '如果文件存在着删除它 FILE为文件路径 bUA中国设计秀
CheckFile=true bUA中国设计秀
End if bUA中国设计秀
Set objFilesys=nothing bUA中国设计秀
End function bUA中国设计秀
'检查文件夹是否存在 bUA中国设计秀
Function CheckFolder(Chk_Path) bUA中国设计秀
set fso = server.createobject("scripting.filesystemobject") bUA中国设计秀
if fso.FolderExists(Chk_Path)=false then bUA中国设计秀
CheckFolder=false bUA中国设计秀
else bUA中国设计秀
CheckFolder=true bUA中国设计秀
end if bUA中国设计秀
End functionbUA中国设计秀

'得到文件后缀名 bUA中国设计秀
function GetFileExt(sFileName) bUA中国设计秀
GetFileExt = UCase(Mid(sFileName,InStrRev (sFileName, ".")+1)) bUA中国设计秀
End functionbUA中国设计秀

'******************************************************* bUA中国设计秀
'作 用: ASP上传漏洞 "" 防范 bUA中国设计秀
'函数名: TrueStr(fileTrue) bUA中国设计秀
'参 数: sFileName 文件名 bUA中国设计秀
'返回值: 合法文件返回 True ,否则返回False bUA中国设计秀
'******************************************************* bUA中国设计秀
function IsTrueFileName(sFileName) bUA中国设计秀
dim str_len,pos bUA中国设计秀
str_len=len(sFileName) bUA中国设计秀
pos=Instr(sFileName,chr(0)) bUA中国设计秀
If pos=0 or pos=str_len then bUA中国设计秀
IsTrueFileName = true bUA中国设计秀
else bUA中国设计秀
IsTrueFileName = false bUA中国设计秀
End If bUA中国设计秀
End function bUA中国设计秀
'******************************************************* bUA中国设计秀
'作 用: 检测上传的图片文件(jpeg,gif,bmp,png)是否真的为图片 bUA中国设计秀
'函数名: TrueStr(fileTrue) bUA中国设计秀
'参 数: sFileName 文件名(此处文件名是文件夹的物理全路径) bUA中国设计秀
'返回值: 确实为图片文件则返回 True ,否则返回False bUA中国设计秀
'******************************************************* bUA中国设计秀
Function IsImgFile(sFileName) bUA中国设计秀
const adTypeBinary=1 bUA中国设计秀
dim return bUA中国设计秀
dim jpg(1):jpg(0)=CByte(&HFF):jpg(1)=CByte(&HD8) bUA中国设计秀
dim bmp(1):bmp(0)=CByte(&H42):bmp(1)=CByte(&H4D) bUA中国设计秀
dim png(3):png(0)=CByte(&H89):png(1)=CByte(&H50):png(2)=CByte(&H4E):png(3)=CByte(&H47) bUA中国设计秀
dim gif(5):gif(0)=CByte(&H47):gif(1)=CByte(&H49):gif(2)=CByte(&H46):gif(3)=CByte(&H39):gif(4)=CByte(&H38):gif(5)=CByte(&H61)bUA中国设计秀

on error resume nextbUA中国设计秀

return=false bUA中国设计秀
dim fstream,fileExt,stamp,i bUA中国设计秀
'得到文件后缀并转化为小写 bUA中国设计秀
FileExt = LCase(GetFileExt(sFileName)) bUA中国设计秀
'如果文件后缀为 jpg,jpeg,bmp,gif,png 中的任一种 bUA中国设计秀
'则执行真实图片判断 bUA中国设计秀
If strInString(FileExt,"jpg|jpeg|bmp|gif|png")=true then bUA中国设计秀
Set fstream=Server.createobject("ADODB.Stream") bUA中国设计秀
fstream.Open bUA中国设计秀
fstream.Type=adTypeBinary bUA中国设计秀
fstream.LoadFromFile sFileName bUA中国设计秀
fstream.position=0 bUA中国设计秀
select case LCase(FileExt) bUA中国设计秀
case "jpg","jpeg" bUA中国设计秀
stamp=fstream.read(2) bUA中国设计秀
for i=0 to 1 bUA中国设计秀
If ascB(MidB(stamp,i+1,1))=jpg(i) then return=true else return=false bUA中国设计秀
next bUA中国设计秀
'http://www.knowsky.combUA中国设计秀
case "gif" bUA中国设计秀
stamp=fstream.read(6) bUA中国设计秀
for i=0 to 5 bUA中国设计秀
If ascB(MidB(stamp,i+1,1))=gif(i) then return=true else return=false bUA中国设计秀
next bUA中国设计秀
case "png" bUA中国设计秀
stamp=fstream.read(4) bUA中国设计秀
for i=0 to 3 bUA中国设计秀
If ascB(MidB(stamp,i+1,1))=png(i) then return=true else return=false bUA中国设计秀
next bUA中国设计秀
case "bmp" bUA中国设计秀
stamp=fstream.read(2) bUA中国设计秀
for i=0 to 1 bUA中国设计秀
If ascB(MidB(stamp,i+1,1))=bmp(i) then return=true else return=false bUA中国设计秀
next bUA中国设计秀
End selectbUA中国设计秀

fstream.Close bUA中国设计秀
Set fseteam=nothing bUA中国设计秀
If err.number<>0 then return = false bUA中国设计秀
else bUA中国设计秀
return = true bUA中国设计秀
End If bUA中国设计秀
IsImgFile = return bUA中国设计秀
End function bUA中国设计秀
'******************************************************* bUA中国设计秀
'作 用: 上传文件扩展名检测 bUA中国设计秀
'函数名: CheckFileExt bUA中国设计秀
'参 数: sFileExt 上传文件夹的后缀 bUA中国设计秀
'        strExt   允许或禁止上传文件夹的后缀,多个以"|"分隔 bUA中国设计秀
'        blnAllow 是允许还是禁止上传 strExt 中指定的后缀 bUA中国设计秀
'返回值: 合法文件返回 True ,否则返回False bUA中国设计秀
'******************************************************* bUA中国设计秀
Function CheckFileExt(sFileExt,strExt,blnAllow) bUA中国设计秀
dim arrExt,return bUA中国设计秀
'= 禁止上传的文件列表 bUA中国设计秀
'strExt = "EXE|JS|BAT|HTML|HTM|COM|ASP|ASA|DLL|php|jsp|CGI" bUA中国设计秀
sFileExt = UCase(sFileExt) bUA中国设计秀
strExt   = UCase(strExt)    bUA中国设计秀
arrExt = split(strExt,"|") bUA中国设计秀
If blnAllow=true then         '只允许上传指定的文件 bUA中国设计秀
return = false bUA中国设计秀
for i=0 to UBound(arrExt) bUA中国设计秀
If sFileExt=arrExt(i) then return=true bUA中国设计秀
next bUA中国设计秀
'response.write "Ext: "&sFileExt & " return: " & return & "   " bUA中国设计秀
else                        '禁止上传指定的文件 bUA中国设计秀
return = true bUA中国设计秀
for i=0 to UBound(arrExt) bUA中国设计秀
If sFileExt=arrExt(i) then return=false bUA中国设计秀
next bUA中国设计秀
End If bUA中国设计秀
CheckFileExt = return bUA中国设计秀
End Function bUA中国设计秀
'******************************************************* bUA中国设计秀
'作 用: 格式化显示文件大小 bUA中国设计秀
'FileSize: 文件大小 bUA中国设计秀
'******************************************************* bUA中国设计秀
Function FormatSize(FileSize) bUA中国设计秀
If FileSize<1024 then FormatSize = FileSize & " Byte" bUA中国设计秀
If FileSize/1024 <1024 And FileSize/1024 > 1 then bUA中国设计秀
FileSize = FileSize/1024 bUA中国设计秀
FormatSize=round(FileSize*100)/100 & " KB" bUA中国设计秀
Elseif FileSize/(1024*1024) > 1 Then bUA中国设计秀
FileSize = FileSize/(1024*1024) bUA中国设计秀
FormatSize = round(FileSize*100)/100 & " MB" bUA中国设计秀
End If bUA中国设计秀
End function bUA中国设计秀
'******************************************************* bUA中国设计秀
'作用:下载文件。 bUA中国设计秀
'函数名: DownFile(FileName) bUA中国设计秀
' FileName bUA中国设计秀
'******************************************************* bUA中国设计秀
Sub DownFile(FileName) bUA中国设计秀
fname = server.MapPath(fname) bUA中国设计秀
filename=split(fname,"")bUA中国设计秀

Set objAdoStream=Server.createObject("ADODB.Stream") bUA中国设计秀
objAdoStream.Type=1 bUA中国设计秀
objAdoStream.open() bUA中国设计秀
objAdoStream.LoadFromFile(fname) bUA中国设计秀
strchar=objAdoStream.Read() bUA中国设计秀
fsize=objAdoStream.size bUA中国设计秀
objAdoStream.Close() bUA中国设计秀
Set objAdoStream=nothingbUA中国设计秀

Response.AddHeader "content-type","application/x-msdownload" bUA中国设计秀
response.AddHeader "Content-Disposition","attachment;filename=" & filename(ubound(filename)) bUA中国设计秀
Response.AddHeader "content-length", fsizebUA中国设计秀

Response.BinaryWrite(strchar) bUA中国设计秀
Response.Flush() bUA中国设计秀
End Sub bUA中国设计秀
'==================================================================================================== bUA中国设计秀
'读取INI文件 bUA中国设计秀
Function ReadIni(FilePath_Name,Mysession,MyItem) bUA中国设计秀
Dim MyString, MyArray,str_temp,sesstion_temp bUA中国设计秀
MyString=LoadFile(FilePath_Name) bUA中国设计秀
Arr=split(MyString,chr(10)) bUA中国设计秀
For I = 0 to UBound(Arr) bUA中国设计秀
Str_temp= Arr(I) bUA中国设计秀
Str_temp=Replace(Trim(Str_temp),chr(13),"") bUA中国设计秀
If Trim(Str_temp)<>"" and InStr(Trim(Str_temp),";")<>1 Then bUA中国设计秀
If InStr(Trim(Str_temp),"[")<InStr(Trim(Str_temp),"]") Then bUA中国设计秀
sesstion_temp=Trim(Str_temp) bUA中国设计秀
sesstion_temp=Replace(Trim(sesstion_temp),"[","") bUA中国设计秀
sesstion_temp=Replace(Trim(sesstion_temp),"]","") bUA中国设计秀
Else bUA中国设计秀
MyArray = Split(Trim(Str_temp), "=") bUA中国设计秀
If Trim(MyArray(0))=MyItem and sesstion_temp=MySession then bUA中国设计秀
ReadIni= Trim(MyArray(1)) bUA中国设计秀
Exit Function bUA中国设计秀
End if bUA中国设计秀
End If bUA中国设计秀
End if bUA中国设计秀
Next   bUA中国设计秀
ReadIni="" bUA中国设计秀
End Function bUA中国设计秀
'写入INI文件 bUA中国设计秀
Function WriteIni(FilePath_Name,MySession,MyItem,MyValue) bUA中国设计秀
Dim MyString, MyArray,str_temp,sesstion_temp,sesstion_temp2,Rstr bUA中国设计秀
IsDo=false bUA中国设计秀
IsHave=false bUA中国设计秀
MyString=LoadFile(FilePath_Name) bUA中国设计秀
Arr=split(MyString,chr(10)) bUA中国设计秀
For I = 0 to UBound(Arr) bUA中国设计秀
Str_temp= Arr(I) bUA中国设计秀
Str_temp=Replace(Trim(Str_temp),chr(13),"") bUA中国设计秀
if not IsDo then bUA中国设计秀
If Trim(Str_temp)<>"" and InStr(Trim(Str_temp),";")<>1 Then bUA中国设计秀
If InStr(Trim(Str_temp),"[")<InStr(Trim(Str_temp),"]") Then bUA中国设计秀
sesstion_temp=Trim(Str_temp) bUA中国设计秀
sesstion_temp=Replace(Trim(sesstion_temp),"[","") bUA中国设计秀
sesstion_temp=Replace(Trim(sesstion_temp),"]","") bUA中国设计秀
if sesstion_temp<>sesstion_temp2 and IsHave then bUA中国设计秀
Str_temp=MyItem&"="&MyValue&VbCrLf&Str_temp bUA中国设计秀
IsDo=true bUA中国设计秀
end if bUA中国设计秀
sesstion_temp2=sesstion_temp bUA中国设计秀
if sesstion_temp=MySession then IsHave=true bUA中国设计秀
Else bUA中国设计秀
MyArray = Split(Trim(Str_temp), "=") bUA中国设计秀
If Trim(MyArray(0))=MyItem and sesstion_temp=MySession then bUA中国设计秀
Str_temp= MyItem&"="&MyValue bUA中国设计秀
IsDo=true bUA中国设计秀
End if bUA中国设计秀
End If bUA中国设计秀
End if bUA中国设计秀
End if bUA中国设计秀
if(I<>UBound(Arr)) then bUA中国设计秀
if Str_temp<>"" then Rstr=Rstr&Str_temp&VbCrLf bUA中国设计秀
else bUA中国设计秀
if Str_temp<>"" then Rstr=Rstr&Str_temp bUA中国设计秀
end if bUA中国设计秀
Next bUA中国设计秀
if IsHave and IsDo=false then Rstr=Rstr&VbCrLf&MyItem&"="&MyValue bUA中国设计秀
if IsHave=false and IsDo=false then Rstr=Rstr&VbCrLf&"["&MySession&"]"&VbCrLf&MyItem&"="&MyValue bUA中国设计秀
call SaveToFile(Rstr,FilePath_Name) bUA中国设计秀
End Function bUA中国设计秀
'====================================================================================================== bUA中国设计秀
Function GetRanNum() bUA中国设计秀
'**************************************** bUA中国设计秀
'函数名:GetRanNum bUA中国设计秀
'作 用:输出带日期格式的随机数 bUA中国设计秀
'参 数:无   ---- bUA中国设计秀
'返回值:如GetRanNum(),即输出200409071553464617,为2004年09月07日15时53分46秒4617随机数 bUA中国设计秀
'关联函数:FormatIntNumber bUA中国设计秀
'**************************************** bUA中国设计秀
GetRanNum = "" bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(year(now),4) bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(month(now),2) bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(day(now),2) bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(hour(now),2) bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(minute(now),2) bUA中国设计秀
GetRanNum = GetRanNum&FormatIntNumber(second(now),2) bUA中国设计秀
randomize bUA中国设计秀
ranNum=int((9000*rnd)+1000) bUA中国设计秀
GetRanNum = GetRanNum&ranNum bUA中国设计秀
End FunctionbUA中国设计秀

Function FormatIntNumber(ExPRession,Digit) bUA中国设计秀
'**************************************** bUA中国设计秀
'函数名:FormatIntNumber bUA中国设计秀
'作 用:输出Digit位左边带0整数 bUA中国设计秀
'参 数:Expression   ----要格式化整数 bUA中国设计秀
'参 数:Digit        ----要格式化位数 bUA中国设计秀
'返回值:如0005,如FormatIntNumber(5,4),整数5被格式化为0005 bUA中国设计秀
'关联函数:无 bUA中国设计秀
'**************************************** bUA中国设计秀
While Len(Expression) < Digit bUA中国设计秀
Expression = "0"&Expression bUA中国设计秀
wend bUA中国设计秀
FormatIntNumber = Expression bUA中国设计秀
End Function bUA中国设计秀
%> bUA中国设计秀
 bUA中国设计秀

本文引用地址:/bc/article_46222.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明