我是靠谱客的博主 愉快御姐,最近开发中收集的这篇文章主要介绍浏览文件夹下面所有图片,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

复制代码 代码如下:

<%
'+-----------------------------------+
'|     变量设置
'+-----------------------------------+
cTitle =   "所有上传图片(注:以下为图片文件夹下面所有图片,并非全部为有效图片!)"   '名字
cPicType =   "jpeg,jpg,gif,png,bmp"   '图片类型   (使用","将图片格式分开)
cHeight =   120   '缩图高度
cWidth =   120   '缩图宽度
cEachLineMax =   5 '每行显示图片数
cEachPageMax =   20   '每页显示图片数目
pic_path="/uploadpic/" '设定图片所在路径
'+-----------------------------------+
'|     定义函数
'+-----------------------------------+
Function   getExt(name)
getExt   =   right(name,   3)
End   Function

Function   isPIC(fileName,   picType)
ext   =   getExt(fileName)
isPIC   =   False
typeList   =   split(picType,   ",")
For   ii   =   LBound(typeList)   To   UBound(typeList)
If   UCase(ext)   =   UCase(typeList(ii))   Then
isPIC   =   True
Exit   For
End   If
Next
End   Function

Function   pageBar(page,   pageTotal)
response.Write   "[   <A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   (page   -   1)   &   "   title=上一页>上一页</A>   ] "
response.Write   "<A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page=1     title=首页><<   </A>"
i   =   pageStart
Do   while   i   <   page
response.Write   "<A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   i   &   "   title=""第   "   &   i   &   "   页"">["   &   i   &   "]</A> "
i   =   i   +   1
Loop
response.Write   "[<FONT   COLOR=red><B>"   &   page   &   "</B></FONT>]"
i   =   pageMiddle
Do   while   i   <=   pageEnd
response.Write   "<A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   i   &   "   title=""第   "   &   i   &   "   页"">["   &   i   &   "]</A> "
i   =   i   +   1
Loop
response.Write   "...<A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   pageTotal   &   "   title=""第   "   &   pageTotal   &   "   页"">["   &   pageTotal   &   "]</A>"
response.Write   "   <A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   pageTotal   &   "   title=尾页>>></A>"
response.Write   "[   <A   HREF="&Request.ServerVariables("SCRIPT_NAME")&"?page="   &   (page   +   1)   &   "   title=下一页>下一页</A>   ] 共   <B><FONT   COLOR=red>"   &   pageTotal   &   "</FONT></B>   页  当前所在第   <B><FONT   COLOR=red>"   &   page   &   "</FONT></B>   页   图片数   :   <B><FONT   COLOR=red>"   &   picTotal   &   "</FONT></B>"
End   Function
'+-----------------------------------+
'|     取图片尺寸类
'+-----------------------------------+
Class   possible
  dim   aso
  Private   Sub   Class_Initialize
    set   aso=CreateObject("Adodb.Stream")
    aso.Mode=3   
    aso.Type=1   
    aso.Open   
  End   Sub
  Private   Sub   Class_Terminate
    set   aso=nothing
  End   Sub
  Private   Function   Bin2Str(Bin)
    Dim   K,   Str
    For   K=1   to   LenB(Bin)
      clow=MidB(Bin,K,1)
      if   ASCB(clow)<128   then
        Str   =   Str   &   Chr(ASCB(clow))
      else
        K=K+1
        if   K   <=   LenB(Bin)   then   Str   =   Str   &   Chr(ASCW(MidB(Bin,K,1)&clow))
      end   if
    Next   
    Bin2Str   =   Str
  End   Function

  Private   Function   Num2Str(num,base,lens)
    dim   ret
    ret   =   ""
    while(num>=base)
      ret   =   (num   mod   base)   &   ret
      num   =   (num   -   num   mod   base)/base
    wend
    Num2Str   =   right(string(lens,"0")   &   num   &   ret,lens)
  End   Function

  Private   Function   Str2Num(str,base)
    dim   ret
    ret   =   0
    for   k=1   to   len(str)
      ret   =   ret   *base   +   cint(mid(str,k,1))
    next
    Str2Num=ret
  End   Function

  Private   Function   BinVal(bin)
    dim   ret
    ret   =   0
    for   k   =   lenb(bin)   to   1   step   -1
      ret   =   ret   *256   +   ascb(midb(bin,k,1))
    next
    BinVal=ret
  End   Function

  Private   Function   BinVal2(bin)
    dim   ret
    ret   =   0
    for   k   =   1   to   lenb(bin)
      ret   =   ret   *256   +   ascb(midb(bin,k,1))
    next
    BinVal2=ret
  End   Function

  Private   Function   getImageSize(filespec)   
    dim   ret(3)
    aso.LoadFromFile(filespec)
    bFlag=aso.read(3)
    select   case   hex(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)):   loop   while   p1=255   and   not   aso.EOS
        if   p1>191   and   p1<196   then   exit   do   else   aso.read(binval2(aso.Read(2))-2)
        do:p1=binVal(aso.Read(1)):loop   while   p1<255   and   not   aso.EOS
      loop   while   true
      aso.Read(3)
      ret(0)="JPG"
      ret(2)=binval2(aso.Read(2))
      ret(1)=binval2(aso.Read(2))
    case   else:
      if   left(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)=""
      end   if
    end   select
    ret(3)="width="""   &   ret(1)   &"""   height="""   &   ret(2)   &""""
    getimagesize=ret
  End   Function 
Function   readX(pic_path)
      Set   fso1   =   server.CreateObject("Scripting.FileSystemObject")
      Set   f1   =   fso1.GetFile(pic_path)
      ext=fso1.GetExtensionName("."&pic_path)
      select   case   UCase(ext)
          case   "GIF","BMP","JPG","PNG":
        arr=getImageSize(f1.path)
        readX   =   arr(1)
          case   "swf"
        arr=pp.getimagesize(f1.path)
        readX   =   arr(1)
      end   select
      Set   f1=nothing
      Set   fso1=nothing
  End   Function
  Function   readY(pic_path)
      Set   fso1   =   server.CreateObject("Scripting.FileSystemObject")
      Set   f1   =   fso1.GetFile(pic_path)
      ext=fso1.GetExtensionName("."&pic_path)
      select   case   UCase(ext)
          case   "GIF","BMP","JPG","PNG":
        arr=getImageSize(f1.path)
        readY   =   arr(2)
          case   "swf"
        arr=pp.getimagesize(f1.path)
        readY   =   arr(2)
      end   select
      Set   f1=nothing
      Set   fso1=nothing
  End   Function
End   Class
'+-----------------------------------+
'|     数据处理
'+-----------------------------------+
Dim   fileArray()
reDim   fileArray(0)
Set   fileObj =   Server.CreateObject("Scripting.FileSystemObject")
Set   folderObj =   fileObj.GetFolder(server.MapPath("."&pic_path))
i   =   0
For   Each   file   in   folderObj.Files
If   isPIC(file.Name,   cPicType)   Then
fileArray(i)   =   file.Name
i   =   i   +   1
reDim   Preserve   fileArray(i)
End   If 
Next
Set   FileObj =   Nothing
Set   FolderObj =   Nothing
picTotal   =   UBound(fileArray)
'+-----------------------------------+
'|     分页处理
'+-----------------------------------+
page   =   int(Request.QueryString("page"))
pageTotal   =   -(int(-(picTotal/cEachPageMax)))
If   page   =   Empty   or   page   <   0   Then   page   =   1
If   page   >   pageTotal   Then   page   =   pageTotal
offset   =   cEachPageMax   *   page
start   =   offset   -   cEachPageMax
If   start   <   0   Then   start   =   0
If   offset   >   picTotal   Then   offset   =   picTotal
pageStart   =   page   -   cEachPageMax
If   pageStart   <=   0   Then   pageStart   =   1
pageMiddle   =   page   +   1
pageEnd   =   pageMiddle   +   cEachPageMax
If   page   <=   cEachPageMax   Then   pageEnd   =   cEachPageMax   *   2
If   pageEnd   >   pageTotal   Then   pageEnd   =   pageTotal
'+-----------------------------------+
'|     输出部分
'+-----------------------------------+
%>
<!doctype   html   public   "-//W3C//DTD   HTML   4.0   Transitional//EN">
<html>
<head>
<title>   <%=cTitle%>   </title>
<style   type='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:   12px   Verdana;   color:#333333;   font-family:   Tahoma,Verdana,   Tahoma,   Arial,Helvetica,   sans-serif;   font-size:   12px;   color:   #000;   margin:0px   12px   0px   12px;background-color:#FFF   }
TD   {font:   12px   Verdana;   color:#333333;   font-family:   Tahoma,Verdana,   Tahoma,   Arial,Helvetica,   sans-serif;   font-size:   12px;   color:   #000;   };
</style>
</head>
<body topmargin="0" leftmargin="0">
<script>
tPopWait=20;
showPopStep=10;
popOpacity=85;
sPop=null;
curShow=null;
tFadeOut=null;
tFadeIn=null;
tFadeWaiting=null;
document.write("<style   type='text/css'id='defaultPopStyle'>");
document.write(".cPopText   {   font-family:   Verdana,   Tahoma;   background-color:   #F7F7F7;   border:   1px   #000000   solid;   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("<div   id='popLayer'   style='position:absolute;z-index:500;'   class='cPopText'></div>");
function   showPopupText(){
var   o=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   
else   popStyle="cPopText";
curShow=setTimeout("showIt()",tPopWait);
}
}
}
function   showIt()   {
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
else   popLeftAdjust=0;
if(MouseY+12+popHeight>document.body.clientHeight)   popTopAdjust=-popHeight-24
else   popTopAdjust=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();
}
function   fadeOut(){
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>
<%   pageBar   page,   pageTotal   %>
<br><br>
<table   border="0"   CELLPADDING="4"   CELLSPACING="4">
<tr>
<%
'+-----------------------------------+
'|     循环输出图片
'+-----------------------------------+
j   =   1
i   =   start
Set   pp   =   New   possible
Do   While   i   <   offset
thisPicPath   =   server.mappath("."&pic_path  &   fileArray(i))
x   =   pp.readX(thisPicPath)
y   =   pp.readY(thisPicPath)
If   x   >   cWidth   or   y   >   cHeight   Then
tWidth   =   x   /   cWidth   :   tHeight   =   y   /   cHeight
If   tWidth   >   tHeight   Then
w   =   cWidth
h   =   y   /   tWidth
Elseif   tWidth   <   tHeight   Then
h   =   cHeight
w   =   x   /   tHeight
Else
w   =   cWidth
h   =   cHeight
End   If
Else
w   =   x
h   =   y
End   If
If   j   >   cEachLineMax   Then
j   =   1
response.Write   "</tr><tr>"
End   If
response.Write   "<td   style=""border:   1px   solid   #000000""   width="   &   cWidth   &   "   height="   &   cHeight   &   "   align=center><a   href=""./"&pic_path &   fileArray(i)   &   """   target=""_blank""><img   border=0   src="   & "."& pic_path& fileArray(i)   &   "   width="   &   w   &   "   height="   &   h   &   "   alt=""文件:"   &   fileArray(i)   &   "  <br>  尺寸:"   &   x   &   "   ×   "   &   y   &   "  ""></a></td>"
j   =   j   +   1
i   =   i   +   1
Loop
Set   pp   =   Nothing
%>
</tr>
</table>
<br>
<%   pageBar   page,   pageTotal   %>
</center>
</body>
</html>

最后

以上就是愉快御姐为你收集整理的浏览文件夹下面所有图片的全部内容,希望文章能够帮你解决浏览文件夹下面所有图片所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(130)

评论列表共有 0 条评论

立即
投稿
返回
顶部