知识大全 Asp文件操作函数集
Posted 文件
篇首语:树高千尺有根,水流万里有源。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Asp文件操作函数集相关的知识,希望对你有一定的参考价值。
Asp文件操作函数集 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
<% ===============asp 文件操作函数集 版本=========================
检查文件是否存在 Function CheckFile(sFileName) CheckFile=false Dim objFilesys On Error Resume Next Set objFilesys=server createobject("scripting filesystemobject") If objFilesys FILEExists(sFileName) then 如果文件存在着删除它 FILE为文件路径 CheckFile=true End if Set objFilesys=nothing End function 检查文件夹是否存在 Function CheckFolder(C_Path) set fso = server createobject("scripting filesystemobject") if fso FolderExists(C_Path)=false then CheckFolder=false else CheckFolder=true end if End function
得到文件后缀名 function GetFileExt(sFileName) GetFileExt = UCase(Mid(sFileName InStrRev (sFileName " ")+ )) End function
******************************************************* 作 用: ASP上传漏洞 "" 防范 函数名: TrueStr(fileTrue) 参 数: sFileName 文件名 返回值: 合法文件返回 True 否则返回False ******************************************************* function IsTrueFileName(sFileName) dim str_len pos str_len=len(sFileName) pos=Instr(sFileName chr( )) If pos= or pos=str_len then IsTrueFileName = true else IsTrueFileName = false End If End function ******************************************************* 作 用: 检测上传的图片文件(jpeg gif bmp png)是否真的为图片 函数名: TrueStr(fileTrue) 参 数: sFileName 文件名(此处文件名是文件夹的物理全路径) 返回值: 确实为图片文件则返回 True 否则返回False ******************************************************* Function IsImgFile(sFileName) const adTypeBinary= dim return dim jpg( ):jpg( )=CByte(&HFF):jpg( )=CByte(&HD ) dim bmp( ):bmp( )=CByte(&H ):bmp( )=CByte(&H D) dim png( ):png( )=CByte(&H ):png( )=CByte(&H ):png( )=CByte(&H E):png( )=CByte(&H ) dim gif( ):gif( )=CByte(&H ):gif( )=CByte(&H ):gif( )=CByte(&H ):gif( )=CByte(&H ):gif( )=CByte(&H ):gif( )=CByte(&H )
on error resume next
return=false dim fstream fileExt stamp i 得到文件后缀并转化为小写 FileExt = LCase(GetFileExt(sFileName)) 如果文件后缀为 jpg jpeg bmp gif png 中的任一种 则执行真实图片判断 If strInString(FileExt "jpg|jpeg|bmp|gif|png")=true then Set fstream=Server createobject("ADODB Stream") fstream Open fstream Type=adTypeBinary fstream LoadFromFile sFileName fstream position= select case LCase(FileExt) case "jpg" "jpeg" stamp=fstream read( ) for i= to If ascB(MidB(stamp i+ ))=jpg(i) then return=true else return=false next case "gif" stamp=fstream read( ) for i= to If ascB(MidB(stamp i+ ))=gif(i) then return=true else return=false next case "png" stamp=fstream read( ) for i= to If ascB(MidB(stamp i+ ))=png(i) then return=true else return=false next case "bmp" stamp=fstream read( ) for i= to If ascB(MidB(stamp i+ ))=bmp(i) then return=true else return=false next End select
fstream Close Set fseteam=nothing If err number<> then return = false else return = true End If IsImgFile = return End function ******************************************************* 作 用: 上传文件扩展名检测 函数名: CheckFileExt 参 数: sFileExt 上传文件夹的后缀 strExt 允许或禁止上传文件夹的后缀 多个以"|"分隔 blnAllow 是允许还是禁止上传 strExt 中指定的后缀 返回值: 合法文件返回 True 否则返回False ******************************************************* Function CheckFileExt(sFileExt strExt blnAllow) dim arrExt return = 禁止上传的文件列表 strExt = "EXE|JS|BAT|HTML|HTM||ASP|ASA|DLL|php|jsp|CGI" sFileExt = UCase(sFileExt) strExt = UCase(strExt) arrExt = split(strExt "|") If blnAllow=true then 只允许上传指定的文件 return = false for i= to UBound(arrExt) If sFileExt=arrExt(i) then return=true next response write "Ext: "&sFileExt & " return: " & return & " " else 禁止上传指定的文件 return = true for i= to UBound(arrExt) If sFileExt=arrExt(i) then return=false next End If CheckFileExt = return End Function ******************************************************* 作 用: 格式化显示文件大小 FileSize: 文件大小 ******************************************************* Function FormatSize(FileSize) If FileSize< then FormatSize = FileSize & " Byte" If FileSize/ < And FileSize/ > then FileSize = FileSize/ FormatSize=round(FileSize* )/ & " KB" Elseif FileSize/( * ) > Then FileSize = FileSize/( * ) FormatSize = round(FileSize* )/ & " MB" End If End function ******************************************************* 作用 下载文件 函数名 DownFile(FileName) FileName ******************************************************* Sub DownFile(FileName) fname = server MapPath(fname) filename=split(fname "")
Set objAdoStream=Server createObject("ADODB Stream") objAdoStream Type= objAdoStream open() objAdoStream LoadFromFile(fname) strchar=objAdoStream Read() fsize=objAdoStream size objAdoStream Close() Set objAdoStream=nothing
Response AddHeader "content type" "application/x msdownload" response AddHeader "Content Disposition" "attachment;filename=" & filename(ubound(filename)) Response AddHeader "content length" fsize
Response BinaryWrite(strchar) Response Flush() End Sub ==================================================================================================== 读取INI文件 Function ReadIni(FilePath_Name Mysession MyItem) Dim MyString MyArray str_temp sesstion_temp MyString=LoadFile(FilePath_Name) Arr=split(MyString chr( )) For I = to UBound(Arr) Str_temp= Arr(I) Str_temp=Replace(Trim(Str_temp) chr( ) "") If Trim(Str_temp)<>"" and InStr(Trim(Str_temp) ";")<> Then If InStr(Trim(Str_temp) "[")<InStr(Trim(Str_temp) "]") Then sesstion_temp=Trim(Str_temp) sesstion_temp=Replace(Trim(sesstion_temp) "[" "") sesstion_temp=Replace(Trim(sesstion_temp) "]" "") Else MyArray = Split(Trim(Str_temp) "=") If Trim(MyArray( ))=MyItem and sesstion_temp=MySession then ReadIni= Trim(MyArray( )) Exit Function End if End If End if Next ReadIni="" End Function 写入INI文件 Function WriteIni(FilePath_Name MySession MyItem MyValue) Dim MyString MyArray str_temp sesstion_temp sesstion_temp Rstr IsDo=false IsHave=false MyString=LoadFile(FilePath_Name) Arr=split(MyString chr( )) For I = to UBound(Arr) Str_temp= Arr(I) Str_temp=Replace(Trim(Str_temp) chr( ) "") if not IsDo then If Trim(Str_temp)<>"" and InStr(Trim(Str_temp) ";")<> Then If InStr(Trim(Str_temp) "[")<InStr(Trim(Str_temp) "]") Then sesstion_temp=Trim(Str_temp) sesstion_temp=Replace(Trim(sesstion_temp) "[" "") sesstion_temp=Replace(Trim(sesstion_temp) "]" "") if sesstion_temp<>sesstion_temp and IsHave then Str_temp=MyItem&"="&MyValue&VbCrLf&Str_temp IsDo=true end if sesstion_temp =sesstion_temp if sesstion_temp=MySession then IsHave=true Else MyArray = Split(Trim(Str_temp) "=") If Trim(MyArray( ))=MyItem and sesstion_temp=MySession then Str_temp= MyItem&"="&MyValue IsDo=true End if End If End if End if if(I<>UBound(Arr)) then if Str_temp<>"" then Rstr=Rstr&Str_temp&VbCrLf else if Str_temp<>"" then Rstr=Rstr&Str_temp end if Next if IsHave and IsDo=false then Rstr=Rstr&VbCrLf&MyItem&"="&MyValue if IsHave=false and IsDo=false then Rstr=Rstr&VbCrLf&"["&MySession&"]"&VbCrLf&MyItem&"="&MyValue call SaveToFile(Rstr FilePath_Name) End Function ====================================================================================================== Function GetRanNum() **************************************** 函数名 GetRanNum 作 用 输出带日期格式的随机数 参 数 无 返回值 如GetRanNum() 即输出 为 年 月 日 时 分 秒 随机数 关联函数 FormatIntNumber **************************************** GetRanNum = "" GetRanNum = GetRanNum&FormatIntNumber(year(now) ) GetRanNum = GetRanNum&FormatIntNumber(month(now) ) GetRanNum = GetRanNum&FormatIntNumber(day(now) ) GetRanNum = GetRanNum&FormatIntNumber(hour(now) ) GetRanNum = GetRanNum&FormatIntNumber(minute(now) ) GetRanNum = GetRanNum&FormatIntNumber(second(now) ) randomize ranNum=int(( *rnd)+ ) GetRanNum = GetRanNum&ranNum End Function
cha138/Article/program/net/201311/14329相关参考