浏览文件夹下面所有图片

天天有我007

天天有我007

2016-02-19 09:36

下面图老师小编要向大家介绍下浏览文件夹下面所有图片,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!
代码如下:

%
'+-----------------------------------+
'|     变量设置
'+-----------------------------------+
cTitle =   "所有上传图片(注:以下为图片文件夹下面所有图片,并非全部为有效图片!)"   '名字
cPicType =   "jpeg,jpg,gif,png,bmp"   '图片类型   (使用","将图片格式分开)
cHeight =   120   '缩图高度
cWidth =   120   '缩图宽度
cEachLineMax =   5 '每行显示图片数
cEachPageMax =   20   '每页显示图片数目
pic_path="https://img.tulaoshi.com/" '设定图片所在路径
'+-----------------------------------+
'|     定义函数
'+-----------------------------------+
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=redB"   &   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   ] 共   BFONT   COLOR=red"   &   pageTotal   &   "/FONT/B   页  当前所在第   BFONT   COLOR=red"   &   page   &   "/FONT/B   页   图片数   :   BFONT   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   p1191   and   p1196   then   exit   do   else   aso.read(binval2(aso.Read(2))-2)
        do:p1=binVal(aso.Read(1)):loop   while   p1255   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+'  BRBR';
popWidth=popLayer.clientWidth;
popHeight=popLayer.clientHeight;
if(MouseX+12+popWidthdocument.body.clientWidth)   popLeftAdjust=-popWidth-24
else   popLeftAdjust=0;
if(MouseY+12+popHeightdocument.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.opacitypopOpacity)   {
popLayer.filters.Alpha.opacity+=showPopStep;
tFadeOut=setTimeout("fadeOut()",1);
}
}
document.onmouseover=showPopupText;
/script
brbr
center
%=cTitle%
brbr
%   pageBar   page,   pageTotal   %
brbr
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   "/trtr"
End   If
response.Write   "td   style=""border:   1px   solid   #000000""   width="   &   cWidth   &   "   height="   &   cHeight   &   "   style="text-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

展开更多 50%)
分享

猜你喜欢

浏览文件夹下面所有图片

Web开发
浏览文件夹下面所有图片

VC删除文件夹下所有文件的代码

编程语言 网络编程
VC删除文件夹下所有文件的代码

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

一个文件夹下面最多可以放多少文件

电脑入门
一个文件夹下面最多可以放多少文件

WP7获取ISolatedStorage指定文件夹下所有子文件夹

文件夹 电脑入门
WP7获取ISolatedStorage指定文件夹下所有子文件夹

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

jsp遍历文件夹下的文件的代码

Web开发
jsp遍历文件夹下的文件的代码

win7电脑文件夹下面的字体为什么变成了蓝色?

电脑网络
win7电脑文件夹下面的字体为什么变成了蓝色?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

php&java(二)

php&java(二)

在Red Hat里使用U盘的通用方法

在Red Hat里使用U盘的通用方法
下拉加载更多内容 ↓