浏览文件夹下面所有图片

2016-02-19 09:36 160 1 收藏

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

【 tulaoshi.com - Web开发 】

代码如下:

%
'+-----------------------------------+
'|     变量设置
'+-----------------------------------+
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

来源:https://www.tulaoshi.com/n/20160219/1591415.html

延伸阅读
标签: 电脑入门
Windows 7有一个非常好的功能就是提供了文件夹的单独视图设置,对于照片我们经常采用缩略图的方式查看,需要查看文件属性的时候又需要切换到详细信息来查看。不过,如果你想让Windows7所有的文件夹都使用同一种视图设置的话,实现的方法也非常简单。 打开任意一个文件夹下可以找到更改您的视图按钮来选择设置好自己所喜好的方式,比如列表,...
Beyond Compare比较的时候怎么展开所有子文件夹   首先我们安装和打开Beyond Compare软件 左边选择文件夹比较 输入路径 在上面的操作里面,选择打开子文件夹 这样就能都打开了
第一步:打开一个文件夹,进入之后鼠标右键点击,在显示的下拉栏里选择查看。然后在选择一种查看方式。 第二步:在浏览器上面打开工具,在下拉栏里点击文件夹选项。 第三步:显示文件夹选项框。 第四步:切换到查看,点击...
文件夹是什么?文件夹的分类 文件夹是什么? 文件架是是专用文件架,是专门装整页文件用的,主要目的是为了更好的保存文件,使它整齐规范。 在计算机的范畴上,文件架是用来协助人们管理计算机文件的,每一个文件架对应一块磁盘空间,它提供了指向对应空间的地址,它没有扩展名,也就不象文件那样格式用扩展名来标识。但...
标签: 微信 微信图片
点击图片 如下面的图片所示,由于新版微信在聊天窗口中 已经不能直接长按图片进行保存了。如果想要保存微信聊天窗口中的图片,那么可以先点击图片进行查看。 长按图片 打开图片之后,用手指【 长按图片1~2秒 】此时即会弹出提示窗口,然后我们再点击一下【 保存到手机 】这样就可以存放到手机相册中了,” 保存朋友圈的...

经验教程

947

收藏

11
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部