忠网广告 系统 用到的几个函数
2018-09-06 11:50
复制代码 代码如下:<%
///******************************************************************
常用公共函数库文件名:PubFunction.asp
******************************************************************///
ConstGo_back=<ahref=javascript:history.back(1)>[返回上页]</a>
ConstCloser=<ahref=javascript:self.close()>『关闭窗口』</a>
//********************************************************************
PubFgdy(Test,Tag,Bh)根据分隔符和标号调用指定字符串的指定值函数,参数:Test被分隔的字符串,Tag分隔符,Bh标号
********************************************************************//
FunctionPubFgdy(Test,Tag,Bh)
PubFgdy=
ifTest<>andisnumeric(Bh)=trueThen
DimTests
Tests=split(Test&Tag,Tag)
ifBh<Ubound(Tests)then
PubFgdy=Tests(Bh)
endif
else
PubFgdy=
exitfunction
endif
endfunction
//********************************************************************
PubCodeGF(OldTest)代码规范函数,参数:OldTest原始内容,NewTest新内容
********************************************************************//
FunctionPubCodeGF(OldTest)
dimNewTest:NewTest=trim(OldTest)
ifisnull(NewTest)orNewTest=thencode_admin=:exitfunction
NewTest=replace(NewTest,,)
PubCodeGF=NewTest
endfunction
//********************************************************************
PubCodehtml(OldTest)屏蔽HTML代码函数,参数:OldTest原始内容,NewTest新内容
********************************************************************//
functionPubCodehtml(OldTest)
dimNewTest:NewTest=OldTest
ifisnull(NewTest)orNewTest=thenPubCodehtml=:exitfunction
NewTest=replace(NewTest,<,<)
NewTest=replace(NewTest,>,>)
NewTest=replace(NewTest,chr(39),')单引号
NewTest=replace(NewTest,chr(34),")双引号
NewTest=replace(NewTest,chr(32),)空格
NewTest=replace(NewTest,chr(9),)table
NewTest=replace(NewTest,chr(10),<br>)回车
NewTest=replace(NewTest,chr(13),<br>)
PubCodehtml=NewTest
endfunction
//********************************************************************
PubCtime()组合系统时间为正常字符串含年、月、日、时、分、秒如:200412172356
********************************************************************//
FunctionPubCtime()
DimGcChars
GcChars=now()
GcChars=replace(GcChars,-,)
GcChars=replace(GcChars,,)
GcChars=replace(GcChars,:,)
GcChars=replace(GcChars,PM,)
GcChars=replace(GcChars,AM,)
GcChars=replace(GcChars,上午,)
GcChars=replace(GcChars,下午,)
GcChars=int(GcChars)+int((10-1+1)*Rnd+1)
PubCtime=GcChars
endfunction
//********************************************************************
PubFolderIfcz(Foldername)判断目录是否存在,需要fso支持参数:Foldername
********************************************************************//
FunctionPubFolderIfcz(Foldername)
Dimfso
FolderIfcz=false
ifFoldername<>then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FolderExists(Foldername)then
FolderIfcz=true
endif
setfso=nothing
endif
endFunction
//********************************************************************
PubFileIfcz(Filename)判断文件是否存在,需要fso支持参数:Filename
********************************************************************//
FunctionPubFileIfcz(Filename)
Dimfso
PubFileIfcz=false
ifFilename<>then
Filename=Server.MapPath(Filename)
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FileExist(Filename)then
PubFileIfcz=true
endif
setfso=nothing
endif
endFunction
//********************************************************************
PubDeleteFile(Filename)删除文件,需要fso支持参数:Filename预删除文件的相对路径
********************************************************************//
FunctionPubDeleteFile(Filename)删除文件
Dimfso
ifFilename<>then
Filename=Server.MapPath(Filename)
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FileExists(Filename)then
fso.DeleteFileFilename
PubDeleteFile=Suc
endif
setfso=nothing
endif
endFunction
//********************************************************************
PubDeleteFolder(Foldername)删除目录,需要fso支持参数:Foldername预删除目录的相对路径
********************************************************************//
FunctionPubDeleteFolder(Foldername)删除目录
Dimfso
ifFoldername<>then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FolderExists(Foldername)then
fso.DeleteFolderFoldername
PubDeleteFolder=Suc
endif
setfso=nothing
endif
endFunction
//********************************************************************
PubCopyFile(Filename,Filenewname)拷贝文件,需要fso支持参数:Filename预拷贝文件的相对路径,Filenewname拷贝目标名
********************************************************************//
FunctionPubCopyFile(Filename,Filenewname)
Dimfso,f
ifFilename<>andFilenewname<>then
Filename=Server.MapPath(Filename)
Filenewname=Server.MapPath(Filenewname)
Setfso=server.CreateObject(Scripting.FileSystemObject)
Setf=fso.GetFile(Filename)
setfso=nothing
setf=nothing
PubCopyFile=Suc
endif
EndFunction
//********************************************************************
PubSetFolder(Foldername)新建目录,需要fso支持参数:Foldername目录名称
********************************************************************//
FunctionPubSetFolder(Foldername)
Dimfso
ifFoldername<>then
Foldername=Server.MapPath(Foldername)
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FolderExists(Foldername)=falsethen
fso.CreateFolderFoldername
endif
setfso=nothing
PubSetFolder=Suc
endif
EndFunction
/********************************************************************
PubEditXml(xmlName,Rootsite,Rootsitesn,texts)修改某xml一条数据,参数:xmlName文件名称,Rootsite指定选取的父节点,Rootsitesn要依次更新的子节点号(整数)列表(用“”分割),texts赋值内容列表(以“/$/”分割)
********************************************************************/
SubPubEditXml(xmlName,Rootsite,Rootsitesn,texts)
Dimfso
ifxmlName<>then
xmlName=Server.MapPath(xmlName)获取XML文件的路径这里根据虚拟目录不同而不同
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FileExists(xmlName)then如果文件存在,则继续...
DimstrSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni
strSourceFile=xmlName
SetobjXML=Server.CreateObject(Microsoft.XMLDOM)创建一个XML对像
objXML.load(strSourceFile)把XML文件读入内存
SetobjRootsite=objXML.documentElement.selectSingleNode(rootsite)
textss=split(texts&/$/,/$/)
texti=0
Rootsitesns=split(Rootsitesn&,)
ForRootsitesni=0toubound(Rootsitesns)-1
objRootsite.childNodes.item(Rootsitesns(Rootsitesni)).text=textss(texti)
texti=texti+1
Next
objXML.save(strSourceFile)
SetobjXML=nothing
释放fso
Setfso=nothing
endif
endif
endsub
/********************************************************************
PubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite)新增xml一条数据,参数:xmlName文件名称,Rootsite指定选取的父节点,Indexsite新增内容主节点,Rootsitesn要依次新增的子节点名列表(用“”分割),texts赋值内容列表(以“/$/”分割)
********************************************************************/
SubPubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite)
Dimfso
Dimbrstr:brstr=chr(13)&chr(10)&chr(9)规范XML样式
ifxmlName<>then
xmlName=Server.MapPath(xmlName)获取XML文件的路径这里根据虚拟目录不同而不同
Setfso=server.CreateObject(Scripting.FileSystemObject)
iffso.FileExists(xmlName)then如果文件存在,则继续...
DimstrSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni,XMLnode
strSourceFile=xmlName
SetobjXML=Server.CreateObject(Microsoft.XMLDOM)创建一个XML对像
objXML.load(strSourceFile)把XML文件读入内存
SetobjRootsite=objXML.documentElement.selectSingleNode(rootsite)
根据得到的数据循环个节点名、值建立XML片段
XMLnode=brstr&<&Indexsite&>
textss=split(texts&/$/,/$/)
texti=0
Rootsitesns=split(Rootsitesn&,)
ForRootsitesni=0toubound(Rootsitesns)-1
XMLnode=XMLnode&brstr&<&Rootsitesns(Rootsitesni)&>&textss(texti)&</&Rootsitesns(Rootsitesni)&>
texti=texti+1
Next
XMLnode=XMLnode&brstr&</&Indexsite&>&brstr
DimobjXML2,rootNewNode
setobjXML2=Server.CreateObject(Microsoft.XMLDOM)建立一个新XML对像
objXML2.loadXML(XMLnode)把XML版片段读入内存中
setrootNewNode=objXML2.documentElement获得objXML2的根节点
objRootsite.appendChild(rootNewNode)把XML片段插入
objXML.save(strSourceFile)
SetobjXML=nothing
释放fso
Setfso=nothing
endif
endif
endsub
//********************************************************************
PubcSize(tSize)KB、MB、GB单位转换函数
********************************************************************//
functionPubcSize(tSize)
iftSize>=1073741824then
PubcSize=Round(int((tSize/1073741824)*1000)/1000,2)&GB
elseiftSize>=1048576then
PubcSize=Round(int((tSize/1048576)*1000)/1000,2)&MB
elseiftSize>=1024then
PubcSize=Round(int((tSize/1024)*1000)/1000,2)&KB
else
PubcSize=Round(tSize,2)&B
endif
endfunction
//********************************************************************
PubIfzhengshu(shu)判断是否为正整数,参数:shu要判断的数字
********************************************************************//
functionPubIfzhengshu(shu)
PubIfzhengshu=yes
Dimshus,shui
shus=split(shu,)
forshui=0toUbound(shus)
ifisnumeric(shus(shui))=falsethen
PubIfzhengshu=no
exitfunction
endif
next
endfunction
/********************************************************************
PubPageGs()格式化分页,rssum总数,nummer每页数目,page当前页码
********************************************************************/
SubPubPageGs()
ifrssummodnummer>0then
thepages=rssum\nummer+1
else
thepages=rssum\nummer
endif
page=trim(request(page))
ifnot(isnumeric(page))thenpage=1
ifint(page)>int(thepages)orint(page)<1then
viewpage=1
else
viewpage=int(page)
endif
endSub
//********************************************************************
PubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color)通用分页函数(1)
maxpage,thepages,viewpage,pageurl链接地址前缀,pp,font_color显示字体色
********************************************************************//
FunctionPubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color)
dimpn,pi,page_num,ppp,pl,pr:pi=1
ppp=pp\2
ifppmod2=0thenppp=ppp-1
pl=viewpage-ppp
pr=pl+pp-1
ifpl<1then
pr=pr-pl+1:pl=1
ifpr>thepagesthenpr=thepages
endif
ifpr>int(thepages)then
pl=pl+thepages-pr:pr=thepages
ifpl<1thenpl=1
endif
ifpl>1then
PubPage1=PubPage1&<ahref=&pageurl&title=第一页>[<]</a>&_
<ahref=&pageurl&page=&pl-1&title=上一页>[<]</a>
endif
forpi=pltopr
ifcint(viewpage)=cint(pi)then
PubPage1=PubPage1&<fontcolor=&font_color&>[&pi&]</font>
else
PubPage1=PubPage1&<ahref=&pageurl&page=&pi&title=第&pi&页>[&pi&]</a>
endif
next
ifpr<thepagesthen
PubPage1=PubPage1&<ahref=&pageurl&page=&pi&title=后一页>[>]</a>&_
<ahref=&pageurl&page=&thepages&title=最后一页>[>]</a>
endif
endfunction
//********************************************************************
PubPage2(viewpage,thepages,pageurl)通用分页函数(2)
maxpage,thepages,viewpage,pageurl链接地址前缀
********************************************************************//
FunctionPubPage2(viewpage,thepages,pageurl)
dimre_color,pf0,pf1,pf2,pf3,pf4,pf5
re_color=#c0c0c0
pf0=已是第一页
pf1=第一页
pf2=上一页
pf3=下一页
pf4=最后一页
pf5=已是最后一页
PubPage2=VbCrLf&<tableborder=0cellspacing=0cellpadding=0><tr><formaction=&pageurl&method=post><td>
ifcint(viewpage)=1then
PubPage2=PubPage2&VbCrLf&<fontcolor=&re_color&>&pf0&</font>
else
PubPage2=PubPage2&VbCrLf&<ahref=&pageurl&page=1alt=&pf1&>&pf1&</a>┋<ahref=&pageurl&page=&cint(viewpage)-1&alt=&pf2&>&pf2&</a>
endif
ifcint(viewpage)=cint(thepages)then
PubPage2=PubPage2&VbCrLf&<fontcolor=&re_color&alt=&pf5&>&pf5&</font>
else
PubPage2=PubPage2&VbCrLf&<ahref=&pageurl&page=&cint(viewpage)+1&alt=&pf3&>&pf3&</a>┋<ahref=&pageurl&page=&cint(thepages)&alt=&pf4&>&pf4&</a>
endif
ifcint(thepages)<>1then
PubPage2=PubPage2&VbCrLf&<inputtype=textname=pagevalue=&viewpage&size=2><inputtype=submitvalue=GO>
endif
PubPage2=PubPage2&VbCrLf&</td></form></tr></table>
endFunction
//********************************************************************************
Pubobject_install(strclassstring)组件判断函数值为true时说明服务器支持该组件
参数:strclassstring组件标示
**********************************************************************************//
functionPubobject_install(strclassstring)
onerrorresumenext
Pubobject_install=false
dimxtestobj
err=0
setxtestobj=server.createobject(strclassstring)
iferr=0thenPubobject_install=true
setxtestobj=nothing
err=0
endfunction
%>
上一篇:记录密码的asp