浏览文件夹下面所有图片
浏览文件夹下面所有图片
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:cHeightThentWidth=x/cWidth:tHeight=y/cHeightIftWidth>tHeightT...

复制代码 代码如下:

<%

'+-----------------------------------+

'|变量设置

'+-----------------------------------+

cTitle="所有上传图片(注:以下为图片文件夹下面所有图片,并非全部为有效图片!)"'名字

cPicType="jpeg,jpg,gif,png,bmp"'图片类型(使用","将图片格式分开)

cHeight=120'缩图高度

cWidth=120'缩图宽度

cEachLineMax=5'每行显示图片数

cEachPageMax=20'每页显示图片数目

pic_path="/uploadpic/"'设定图片所在路径

'+-----------------------------------+

'|定义函数

'+-----------------------------------+

FunctiongetExt(name)

getExt=right(name,3)

EndFunction

FunctionisPIC(fileName,picType)

ext=getExt(fileName)

isPIC=False

typeList=split(picType,",")

Forii=LBound(typeList)ToUBound(typeList)

IfUCase(ext)=UCase(typeList(ii))Then

isPIC=True

ExitFor

EndIf

Next

EndFunction

FunctionpageBar(page,pageTotal)

response.Write"[<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&(page-1)&"title=上一页>上一页</A>]"

response.Write"<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page=1title=首页><<</A>"

i=pageStart

Dowhilei<page

response.Write"<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&i&"title=""第"&i&"页"">["&i&"]</A>"

i=i+1

Loop

response.Write"[<FONTCOLOR=red><B>"&page&"</B></FONT>]"

i=pageMiddle

Dowhilei<=pageEnd

response.Write"<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&i&"title=""第"&i&"页"">["&i&"]</A>"

i=i+1

Loop

response.Write"...<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&pageTotal&"title=""第"&pageTotal&"页"">["&pageTotal&"]</A>"

response.Write"<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&pageTotal&"title=尾页>>></A>"

response.Write"[<AHREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="&(page+1)&"title=下一页>下一页</A>]共<B><FONTCOLOR=red>"&pageTotal&"</FONT></B>页当前所在第<B><FONTCOLOR=red>"&page&"</FONT></B>页图片数:<B><FONTCOLOR=red>"&picTotal&"</FONT></B>"

EndFunction

'+-----------------------------------+

'|取图片尺寸类

'+-----------------------------------+

Classpossible

dimaso

PrivateSubClass_Initialize

setaso=CreateObject("Adodb.Stream")

aso.Mode=3

aso.Type=1

aso.Open

EndSub

PrivateSubClass_Terminate

setaso=nothing

EndSub

PrivateFunctionBin2Str(Bin)

DimK,Str

ForK=1toLenB(Bin)

clow=MidB(Bin,K,1)

ifASCB(clow)<128then

Str=Str&Chr(ASCB(clow))

else

K=K+1

ifK<=LenB(Bin)thenStr=Str&Chr(ASCW(MidB(Bin,K,1)&clow))

endif

Next

Bin2Str=Str

EndFunction

PrivateFunctionNum2Str(num,base,lens)

dimret

ret=""

while(num>=base)

ret=(nummodbase)&ret

num=(num-nummodbase)/base

wend

Num2Str=right(string(lens,"0")&num&ret,lens)

EndFunction

PrivateFunctionStr2Num(str,base)

dimret

ret=0

fork=1tolen(str)

ret=ret*base+cint(mid(str,k,1))

next

Str2Num=ret

EndFunction

PrivateFunctionBinVal(bin)

dimret

ret=0

fork=lenb(bin)to1step-1

ret=ret*256+ascb(midb(bin,k,1))

next

BinVal=ret

EndFunction

PrivateFunctionBinVal2(bin)

dimret

ret=0

fork=1tolenb(bin)

ret=ret*256+ascb(midb(bin,k,1))

next

BinVal2=ret

EndFunction

PrivateFunctiongetImageSize(filespec)

dimret(3)

aso.LoadFromFile(filespec)

bFlag=aso.read(3)

selectcasehex(binVal(bFlag))

case"4E5089":

aso.read(15)

ret(0)="PNG"

ret(1)=BinVal2(aso.read(2))

aso.read(2)

ret(2)=BinVal2(aso.read(2))

case"464947":

aso.read(3)

ret(0)="GIF"

ret(1)=BinVal(aso.read(2))

ret(2)=BinVal(aso.read(2))

case"535746":

aso.read(5)

binData=aso.Read(1)

sConv=Num2Str(ascb(binData),2,8)

nBits=Str2Num(left(sConv,5),2)

sConv=mid(sConv,6)

while(len(sConv)<nBits*4)

binData=aso.Read(1)

sConv=sConv&Num2Str(ascb(binData),2,8)

wend

ret(0)="SWF"

ret(1)=int(abs(Str2Num(mid(sConv,1*nBits+1,nBits),2)-Str2Num(mid(sConv,0*nBits+1,nBits),2))/20)

ret(2)=int(abs(Str2Num(mid(sConv,3*nBits+1,nBits),2)-Str2Num(mid(sConv,2*nBits+1,nBits),2))/20)

case"FFD8FF":

do

do:p1=binVal(aso.Read(1)):loopwhilep1=255andnotaso.EOS

ifp1>191andp1<196thenexitdoelseaso.read(binval2(aso.Read(2))-2)

do:p1=binVal(aso.Read(1)):loopwhilep1<255andnotaso.EOS

loopwhiletrue

aso.Read(3)

ret(0)="JPG"

ret(2)=binval2(aso.Read(2))

ret(1)=binval2(aso.Read(2))

caseelse:

ifleft(Bin2Str(bFlag),2)="BM"then

aso.Read(15)

ret(0)="BMP"

ret(1)=binval(aso.Read(4))

ret(2)=binval(aso.Read(4))

else

ret(0)=""

endif

endselect

ret(3)="width="""&ret(1)&"""height="""&ret(2)&""""

getimagesize=ret

EndFunction

FunctionreadX(pic_path)

Setfso1=server.CreateObject("Scripting.FileSystemObject")

Setf1=fso1.GetFile(pic_path)

ext=fso1.GetExtensionName("."&pic_path)

selectcaseUCase(ext)

case"GIF","BMP","JPG","PNG":

arr=getImageSize(f1.path)

readX=arr(1)

case"swf"

arr=pp.getimagesize(f1.path)

readX=arr(1)

endselect

Setf1=nothing

Setfso1=nothing

EndFunction

FunctionreadY(pic_path)

Setfso1=server.CreateObject("Scripting.FileSystemObject")

Setf1=fso1.GetFile(pic_path)

ext=fso1.GetExtensionName("."&pic_path)

selectcaseUCase(ext)

case"GIF","BMP","JPG","PNG":

arr=getImageSize(f1.path)

readY=arr(2)

case"swf"

arr=pp.getimagesize(f1.path)

readY=arr(2)

endselect

Setf1=nothing

Setfso1=nothing

EndFunction

EndClass

'+-----------------------------------+

'|数据处理

'+-----------------------------------+

DimfileArray()

reDimfileArray(0)

SetfileObj=Server.CreateObject("Scripting.FileSystemObject")

SetfolderObj=fileObj.GetFolder(server.MapPath("."&pic_path))

i=0

ForEachfileinfolderObj.Files

IfisPIC(file.Name,cPicType)Then

fileArray(i)=file.Name

i=i+1

reDimPreservefileArray(i)

EndIf

Next

SetFileObj=Nothing

SetFolderObj=Nothing

picTotal=UBound(fileArray)

'+-----------------------------------+

'|分页处理

'+-----------------------------------+

page=int(Request.QueryString("page"))

pageTotal=-(int(-(picTotal/cEachPageMax)))

Ifpage=Emptyorpage<0Thenpage=1

Ifpage>pageTotalThenpage=pageTotal

offset=cEachPageMax*page

start=offset-cEachPageMax

Ifstart<0Thenstart=0

Ifoffset>picTotalThenoffset=picTotal

pageStart=page-cEachPageMax

IfpageStart<=0ThenpageStart=1

pageMiddle=page+1

pageEnd=pageMiddle+cEachPageMax

Ifpage<=cEachPageMaxThenpageEnd=cEachPageMax*2

IfpageEnd>pageTotalThenpageEnd=pageTotal

'+-----------------------------------+

'|输出部分

'+-----------------------------------+

%>

<!doctypehtmlpublic"-//W3C//DTDHTML4.0Transitional//EN">

<html>

<head>

<title><%=cTitle%></title>

<styletype='text/css'>

a:link,a:visited,a:active{text-decoration:none;color:#000}

a:hover{color:orangered;text-decoration:none}

BODY{scrollbar-face-color:#DEE3E7;scrollbar-highlight-color:#FFFFFF;scrollbar-shadow-color:#DEE3E7;scrollbar-3dlight-color:#D1D7DC;scrollbar-arrow-color:#006699;scrollbar-track-color:#EFEFEF;scrollbar-darkshadow-color:#98AAB1;font:12pxVerdana;color:#333333;font-family:Tahoma,Verdana,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;color:#000;margin:0px12px0px12px;background-color:#FFF}

TD{font:12pxVerdana;color:#333333;font-family:Tahoma,Verdana,Tahoma,Arial,Helvetica,sans-serif;font-size:12px;color:#000;};

</style>

</head>

<bodytopmargin="0"leftmargin="0">

<script>

tPopWait=20;

showPopStep=10;

popOpacity=85;

sPop=null;

curShow=null;

tFadeOut=null;

tFadeIn=null;

tFadeWaiting=null;

document.write("<styletype='text/css'id='defaultPopStyle'>");

document.write(".cPopText{font-family:Verdana,Tahoma;background-color:#F7F7F7;border:1px#000000solid;font-size:11px;padding-right:4px;padding-left:4px;height:20px;padding-top:2px;padding-bottom:2px;filter:Alpha(Opacity=0)}");

document.write("</style>");

document.write("<divid='popLayer'style='position:absolute;z-index:500;'class='cPopText'></div>");

functionshowPopupText(){

varo=event.srcElement;

MouseX=event.x;

MouseY=event.y;

if(o.alt!=null&&o.alt!=""){o.pop=o.alt;o.alt=""}

if(o.title!=null&&o.title!=""){o.pop=o.title;o.title=""}

if(o.pop){o.pop=o.pop.replace("n","<br>");o.pop=o.pop.replace("n","<br>");}

if(o.pop!=sPop){

sPop=o.pop;

clearTimeout(curShow);

clearTimeout(tFadeOut);

clearTimeout(tFadeIn);

clearTimeout(tFadeWaiting);

if(sPop==null||sPop==""){

popLayer.innerHTML="";

popLayer.style.filter="Alpha()";

popLayer.filters.Alpha.opacity=0;

}else{

if(o.dyclass!=null)popStyle=o.dyclass

elsepopStyle="cPopText";

curShow=setTimeout("showIt()",tPopWait);

}

}

}

functionshowIt(){

popLayer.className=popStyle;

popLayer.innerHTML='<BR>'+sPop+'<BR><BR>';

popWidth=popLayer.clientWidth;

popHeight=popLayer.clientHeight;

if(MouseX+12+popWidth>document.body.clientWidth)popLeftAdjust=-popWidth-24

elsepopLeftAdjust=0;

if(MouseY+12+popHeight>document.body.clientHeight)popTopAdjust=-popHeight-24

elsepopTopAdjust=0;

popLayer.style.left=MouseX+12+document.body.scrollLeft+popLeftAdjust;

popLayer.style.top=MouseY+12+document.body.scrollTop+popTopAdjust;

popLayer.style.filter="Alpha(Opacity=0)";

fadeOut();

}

functionfadeOut(){

if(popLayer.filters.Alpha.opacity<popOpacity){

popLayer.filters.Alpha.opacity+=showPopStep;

tFadeOut=setTimeout("fadeOut()",1);

}

}

document.onmouseover=showPopupText;

</script>

<br><br>

<center>

<%=cTitle%>

<br><br>

<%pageBarpage,pageTotal%>

<br><br>

<tableborder="0"CELLPADDING="4"CELLSPACING="4">

<tr>

<%

'+-----------------------------------+

'|循环输出图片

'+-----------------------------------+

j=1

i=start

Setpp=Newpossible

DoWhilei<offset

thisPicPath=server.mappath("."&pic_path&fileArray(i))

x=pp.readX(thisPicPath)

y=pp.readY(thisPicPath)

Ifx>cWidthory>cHeightThen

tWidth=x/cWidth:tHeight=y/cHeight

IftWidth>tHeightThen

w=cWidth

h=y/tWidth

ElseiftWidth<tHeightThen

h=cHeight

w=x/tHeight

Else

w=cWidth

h=cHeight

EndIf

Else

w=x

h=y

EndIf

Ifj>cEachLineMaxThen

j=1

response.Write"</tr><tr>"

EndIf

response.Write"<tdstyle=""border:1pxsolid#000000""width="&cWidth&"height="&cHeight&"align=center><ahref=""./"&pic_path&fileArray(i)&"""target=""_blank""><imgborder=0src="&"."&pic_path&fileArray(i)&"width="&w&"height="&h&"alt=""文件:"&fileArray(i)&"<br>尺寸:"&x&"×"&y&"""></a></td>"

j=j+1

i=i+1

Loop

Setpp=Nothing

%>

</tr>

</table>

<br>

<%pageBarpage,pageTotal%>

</center>

</body>

</html>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新ASP教程学习
热门ASP教程学习
编程开发子分类