⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 default.asp

📁 网站代码
💻 ASP
字号:
<%

'+-----------------------------------+
'|  NEATPIC 目录直读版 (ASP)
'+-----------------------------------+
'|  Powered by walkerlee
'+-----------------------------------+
'| QQ : 808075
'| Email : walkerlee@163.net
'| Homepge : http://www.walkerlee.net
'| BBS : http://www.walkerlee.net/bbs/
'+-----------------------------------+
'|  C / M : 2004.02.20 / 2004.02.24
'+-----------------------------------+
'|  Version : 1.1.0
'+-----------------------------------+
'| Note :
'|
'| 1.本软件如果要使用在商业用途
'| 方面,必须取得作者的授权.
'|
'| 2.你可以任意传播以及修改本程序,
'| 但不能以任何形式删除本程序的版权.
'| 请记住,保留作者版权是对作者工作的尊敬.
'|
'| 3.如果有问题,可以通过上面提供的方式
'| 进行解答,但作者学业繁重,如果不能及时或
'| 者不解答,请谅解.
'|
'| 4.作者对使用该程序导致的问题,不予以负责.
'|
'| 5.本程序版权归 NeatStudio 所有.禁止任何侵权行为!
'|
'+-----------------------------------+

'+-----------------------------------+
'|  变量设置
'+-----------------------------------+

cTitle			= "NEATPIC 目录直读版 (ASP)" '名字
cPicType		= "jpeg,jpg,gif,png,bmp" '图片类型 (使用","将图片格式分开)
cHeight			= 120 '缩图高度
cWidth			= 120 '缩图宽度
cEachLineMax	= 5	'每行显示图片数
cEachPageMax	= 20 '每页显示图片数目

'+-----------------------------------+
'|  定义函数
'+-----------------------------------+

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=default.asp?page=" & (page - 1) & " title=上一页>上一页</A> ]&nbsp;"
	response.Write "<A HREF=default.asp?page=1  title=首页><< </A>"
	
	i = pageStart
	Do while i < page
		response.Write "<A HREF=default.asp?page=" & i & " title=""第 " & i & " 页"">[" & i & "]</A>&nbsp;"
		i = i + 1
	Loop

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

	i = pageMiddle
	Do while i <= pageEnd
		response.Write "<A HREF=default.asp?page=" & i & " title=""第 " & i & " 页"">[" & i & "]</A>&nbsp;"
		i = i + 1
	Loop

	response.Write "...<A HREF=default.asp?page=" & pageTotal & " title=""第 " & pageTotal & " 页"">[" & pageTotal & "]</A>"
	response.Write " <A HREF=default.asp?page=" & pageTotal & " title=尾页>>></A>"
	response.Write "[ <A HREF=default.asp?page=" & (page + 1) & " title=下一页>下一页</A> ]&nbsp;共 <B><FONT COLOR=red>" & pageTotal & "</FONT></B> 页&nbsp;&nbsp;当前所在第 <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("./"))

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>
<script>
		/******************************************************************************
		  NEATPIC Show Title
		  Modified by: walkerlee
		  Date: 2003-12-30
		  Based upon:  Crossday Studio 
		*******************************************************************************/

		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:1000;' 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>&nbsp;&nbsp;'+sPop+'&nbsp;&nbsp;<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("./" & 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=""./" & fileArray(i) & """ target=""_blank""><img border=0 src=" & fileArray(i) & " width=" & w & " height=" & h & " alt=""文件:" & fileArray(i) & "&nbsp;&nbsp;<br>&nbsp;&nbsp;尺寸:" & x & " × " & y & "&nbsp;&nbsp;""></a></td>"

	j = j + 1
	
	i = i + 1

Loop

Set pp = Nothing

%>
</tr>
</table>
<br>
<% pageBar page, pageTotal %>
</center>
<br><br>
<center><a href="http://www.walkerlee.net" target="_blank">powered by walkerlee NEATPIC 目录直读版 1.1.0 (ASP)</a></center>
<br><br>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -