浏览文件夹下面所有图片

代码如下:

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

(0)

相关推荐

  • 浏览文件夹下面所有图片

    复制代码 代码如下: <% '+-----------------------------------+ '|     变量设置 '+-----------------------------------+ cTitle =   "所有上传图片(注:以下为图片文件夹下面所有图片,并非全部为有效图片!)"   '名字 cPicType =   "jpeg,jpg,gif,png,bmp"   '图片类型   (使用","将图片格式分开) cH

  • php 读取文件夹下所有图片、文件的实例

    如下所示: $hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要读取的文件夹 $url = '/data/upload/admin/20170517/'; //图片所存在的目录 $filesnames = scandir($hostdir); //得到所有的文件 // print_r($filesnames);exit; //获取也就是扫描文件夹内的文件及文件夹名存入数组 $filesnames $www = 'http:/

  • VBA 浏览文件夹对话框调用的几种方法

    1.使用API方法  复制代码 代码如下: '[类型声明] Private Type BROWSEINFO hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As Long iImage As Long End Type '[API声明] Private Declare Function SHGetPathF

  • js操作IE浏览器弹出浏览文件夹可以返回目录路径

    如图所示: 可以返回目录路径. 操作如下: function BrowseFolder(){ try{ var Message = "请选择文件夹"; //选择框提示信息 var Shell = new ActiveXObject( "Shell.Application" ); var Folder = Shell.BrowseForFolder(0,Message,0x0040,0x11);//起始目录为:我的电脑 //var Folder = Shell.Bro

  • Windows Script Host之用vbs实现[浏览文件夹]功能

    '************************************************ ' File:Dialog.vbs (WSH sample in VBScript)  ' Author:(c) G. Born ' ' Using the shell dialog box to select a folder '************************************************ Option Explicit ' Flags for the opt

  • Python与C++ 遍历文件夹下的所有图片实现代码

     Pyhton与C++ 遍历文件夹下的所有图片实现代码 前言 虽然本文说的是遍历图片,但是遍历其他文件也是可以的. 在进行图像处理的时候,大部分时候只需要处理单张图片.但是一旦把图像处理和机器学习相结合,或者做一些稍大一些的任务的时候,常常需要处理好多图片.而这里面,一个最基本的问题就是如何遍历这些图片. 用OpenCV做过人脸识别的人应该知道,那个项目中并没有进行图片的遍历,而是用了一种辅助方案,生成了一个包含所有图片路径的文件at.txt,然后通过这个路径来读取所有图片.而且这个辅助文件不仅

  • Python实现文件及文件夹操作大全

    目录 一.文件操作 1.1 文件常规操作 1.2 文件读写 1.3 文件相关属性访问 二.文件夹操作 2.1 文件夹常规操作 2.2 遍历文件夹 2.3 文件夹相关属性访问 三.其他相关操作 3.1 工作目录操作 3.2 文件&文件夹其他操作 在日常工作或生活中,总避免不了需要操作文件或文件夹,比如希望找出电脑中所有临时文件并清除,或者找到指定文件夹内所有图片文件并进行重新命名等等,如果能通过Python脚本的方式解决,会大大提升相关操作效率,本文即总结使用Python进行常见操作相关知识点,方

  • VBS 显示“选择文件或文件夹”对话框的代码

    一.显示"选择文件"的对话框 问: 嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用? 答:您好.| 如果您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法. 但如果您使用的是 Windows XP,情况就不同了.在 Windows XP 上,您可以使用"UserAccounts.CommonDialog" 对象向用户显示一个标准的"文件打开"对

  • asp.net编程实现删除文件夹及文件夹下文件的方法

    本文实例讲述了asp.net编程实现删除文件夹及文件夹下文件的方法.分享给大家供大家参考,具体如下: //获取文件夹 string path = Server.MapPath("Image"); //获取文件夹中所有图片 if (Directory.GetFileSystemEntries(path).Length > 0) { //遍历文件夹中所有文件 foreach (string file in Directory.GetFiles(path)) { //文件己存在 if

  • 用vbs实现在启动 Windows 资源管理器时打开特定文件夹

    my-script.vbs "c:\scripts" 在文件夹路径的两端必须加双引号吗?本例中不需要.但是,如果路径中有空格,则必须加双引号.以下命令行将不起作用: my-script.vbs c:\documents and settings\kmyer 只要是向脚本传递包含空格的参数,就必须将整个参数括在双引号内(否则无需如此).换句话说: my-script.vbs "c:\documents and settings\kmyer" 这就是命令解释程序的工作方

随机推荐