马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为现在数据库都使用标准的SQL语言对数据库进行管理,所以如果是标准SQL语言,两者基本上都可以通用的。SQLServer还有更多的扩展,可以用存储过程,数据库大小无极限限制。Scan.inc
<%
************************************************
***********网站图片扫描器1.00******************
***********把戏师・杨*********************
***********日期:2004.5.6***********************
***********QQ:1168064**************************
************************************************
申明:这是我第一次编写使用类,个中不妥的地方请多多指教!QQ:1168064
属性和办法
1、ScanType:扫描的范例。默许值:1。值:0扫描文件和数据库1扫描文件2扫描数据库。
2、Conn,Table,ColImg,ColID:当扫描数据库时用到,分离为毗连字符串、表名、图片列名、图片对应的ID列名
3、List:显现范例。默许值:0。值:0生效图片1收集图片2无效图片3一切
4、ScanText:扫描的图片范例。默许值:Asp/html/htm。值:文件扩大名,两头用"/"分开。
5、Path:扫描的路径:默许为网站根目次,请利用绝对路径。比方"/dsj"
6、Scan():办法。依据设置举行扫描
7、File:保留扫描的以是信息。在Scan()办法后挪用
8、Folders:扫描的文件夹个数
9、Files:扫描的文件数。
10、TotalSize:目次的总计巨细。主动显现G,M,B。
11、Images:扫描文件中的图片个数
12、Exists:生效个数
13、DbImg:数据库中图片个数
14、TotalImg:扫描的以是图片个数
15、RunTime:扫描历程的工夫。单元毫秒
16、关于File的利用:
ForEachFnInObjName.file……Next
Fn.FileName:图片称号,包括路径
Fn.Belong:图片地点文件或数据库(文件用"|"分隔)
Fn.Exists:是不是无效。0为生效1为无效-1为非当地路径,不克不及判别。
OptionExplicit
ClassMCScanImg
dimFile,ScanType,Conn,Table,ColId,ColImg,FSO,Path,List,ScanText,Spath,Version
dimFolders,Files,TotalSize,Images,Exists,sFiles,Start,EndT,RunTime,DbImg,TotalImg,Filter
PrivateSubClass_Initialize
SetFile=Server.Createobject("Scripting.Dictionary")
SetFSO=CreateObject("Scripting.FileSystemObject")
ScanType=1
Conn=""
Table=""
ColImg=""
ColId=""
Path="/"
sPath=Server.MapPath("/")
List=0
ScanText="asp/htm/html"
Folders=0
Files=0
TotalSize=0
Images=0
DbImg=0
Exists=0
sFiles=0
TotalImg=0
Start=Timer
Endt=Timer
Runtime=0
Filter="src=http://www.163design.net/a/f/(.[^/>^/&]*)(.gif.jpg)"
Version="1.00"
EndSub
PrivateSubClass_Terminate
SetFile=Nothing
SetFSO=Nothing
EndSub
PublicFunctionScan()入手下手扫描
ifleft(path,1)="/"then
path=Spath&Replace(path,"/","")
else
Path=Spath&""&Replace(path,"/","")
endif
IfScanType=1then
Scanfile(Path)
ElseIfScanType=2Then
ScanDb()
Else
ScanFile(Path)
ScanDb()
EndIf
EndT=timer
RunTime=FormatNumber(EndT-Start)*1000
TotalSize=shb(TotalSize)
TotalImg=DbImg+Images
EndFunction
PrivateSubScanDB()扫描数据库。这里的路径难于判别,请在InsDb中变动(IfAddNum=0后)
DimRs,RetStr,ReBel,SQL
SQL="Select"&ColID&","&ColIMG&"From"&Table&"Orderby"&ColID&"DESC"
OnErrorResumeNext
IfConn=""ORTable=""ORColID=""ORColIMG=""Then
ExitSub
Else
SetRs=Server.CreateObject("ADODB.RecordSet")
Rs.OpenSQL,conn,3,3
WhileNotRs.EOF
RetStr=Rs(1)
ReBel="表"&Table&"中的"&ColImg&"列(ID:"&Rs(0)&")"
InsDbRetStr,ReBel,0,""
Rs.MoveNext
Wend
Rs.Close
SetRs=Nothing
EndIf
EndSub
PrivateSubScanFile(PathStr)扫描文件。递回
Dimf,ff,fn,fd,fdn,RealPath,fr,fc
Response.writePathStr&"<br>"
Setff=fso.getfolder(pathstr)
Setf=ff.files
Setfd=ff.subfolders
Iff.Count>0Then
ForEachfnInf
Files=Files+1
TotalSize=TotalSize+fn.Size
IfChkFileName(fn.Name)Then
sFiles=sFiles+1
IfRight(PathStr,1)""Then
RealPath=PathStr&""&fn.Name
Else
RealPath=PathStr&fn.Name
EndIf
Setfr=FSO.OpenTextFile(RealPath,1)
fc=fr.ReadAll
response.writeRealPath&"<br>"
RegExpTestfilter,fc,RealPath
EndIf
Next
EndIf
Iffd.Count>0Then
ForEachfdnInfd
Folders=Folders+1
dimtemp
ifright(PathStr,1)""then
temp=PathStr&""&fdn.Name
else
temp=PathStr&fdn.Name
endif
ScanFile(temp)
Next
EndIf
EndSub
PrivateSubRegExpTest(Patrn,Strng,PathStr)查找图片
DimRegEx,Match,Matches,Chk,ReImg,RetStr,ReBel,TheFile
SetRegEx=NewRegExp</p>ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。 |