用ASP实现刷新一次换一张图片
2018-09-06 12:30
看到别人网站中每次刷新都能看到不同的广告图片,是不是很羡慕啊?没关系啦,下面我们就来看一下如何用ASP实现刷新一次换一张图片:
<%@LANGUAGE=VBSCRIPT CODEPAGE=936%>
<%@response.Buffer=false%>
<%
’用ASP实现刷新一次换一张图片
’代码设计 BY ICEWORLD
’说明:
’1:可以不加参数实现刷新一次换一次图片,也可以用index.asp?img=图片名字来显示指定的网页
’2:同上面的代码,加入了错误处理
’由于本人学习ASP时间不长,有错误的话,还希望高手不吝赐教
imagepath=server.MapPath(image)
’定义图片的文件夹
num=0
’num变量表示图片的个数
total=0
’total变量表示文件夹内部所有文件的个数
set fso=server.CreateObject(scripting.filesystemobject)
’创建fso对象
if not fso.folderexists(imagepath) then
response.Write(指定的图片文件夹不存在!)
response.End()
end if
’判断文件夹是否存在
img=request.QueryString(img)
if img<> then
imgpath=imagepath / img
if not fso.fileexists(imgpath) then
response.Write(对不起,您指定的图片没有找到!)
response.End()
end if
’如果有img变量,则判断该图片是否存在
else
set fileall=fso.getfolder(imagepath).files
for each d in fileall
num=num+1
end if
total=total+1
next
’搜集一下图片和文件的总个数,得到变量num和total的值,可自己添加知道的图片后缀
if total=0 then
response.Write(文件夹存在,但是没有任何文件!)
response.End()
end if
’当文件夹为空的时候
if num=0 then
response.Write(虽然文件夹里面有文件,但是图片文件的个数为0!)
response.End()
end if
’当文件夹内部没有图片的时候
randomize
a=int(num*rnd+rnd)
for each d in fileall
if right(d.name,3)=bmp or right(d.name,3)=gif or right(d.name,3)=jpg or right(d.name,3)=png then
if rnnd=a then
imgpath=d.path
exit for
else
rnnd=rnnd+1
end if
end if
next
end if
’随即产生图片
%>
<html>
<head>
<meta http-equiv=Content-Type content=text/html; charset=gb2312>
<title>用ASP实现刷新一次换一张图片</title>
</head>
<body>
<%
if img= then
%>
该文件夹内部共有文件<%=total%>个,其中图片有<%=num%>个,下面是随机产生的图片:
<%
else
%>
下面是你所提交的图片:
<%
endif
%><br><palign=center>
<imgname=imageesrc=<%=imgpath%>width=355height=308alt=></p>
</body>
</html>
<%
setfileall=nothing
setfso=nothing
%>
技术交流永无止境