<HTML> <HEAD> <TITLE>'<%=Request("SearchText")%>'的搜索结果</TITLE> </HEAD> <BODY> <B>'<%=Request("SearchText")%>'的搜索结果</B><BR> <% Const fsoForReading = 1 Dim objFile, objFolder, objSubFolder, objTextStream Dim bolCase, bolFileFound, bolTagFound Dim strCount, strDeTag, strExt, strFile, strContent, strRoot, strTag, strText, strTitle, strTitleL strFile = ".asp .htm .html .js .txt .css" strRoot = "/" strText = Request("SearchText") strTag = Chr(37) & Chr(62) bolFileFound = False bolTagFound = False If Request("Case") = "on" Then bolCase = 0 Else bolCase = 1 Set objFSO = Server.CreateObject("Scripting.FileSystemObject") RealPath=Server.MapPath(strRoot) VirtualPath="http://" & Request.ServerVariables("SERVER_NAME") Set objFolder = objFSO.GetFolder(RealPath) schSubFol(objFolder) Sub schSubFol(objFolder) on error resume next For Each objFile in objFolder.Files If strText = "" Then Exit Sub If Response.IsClientConnected Then Set objTextStream = objFSO.OpenTextFile(objFile.Path,fsoForReading) strContent = objTextStream.ReadAll If InStr(1, strContent, strTag, bolCase) Then Else If Mid(objFile.Name, Len(objFile.Name) - 1, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 1, 2) If Mid(objFile.Name, Len(objFile.Name) - 2, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 2, 3) If Mid(objFile.Name, Len(objFile.Name) - 3, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 3, 4) If Mid(objFile.Name, Len(objFile.Name) - 4, 1) = "." Then strExt = Mid(objFile.Name, Len(objFile.Name) - 4, 5) If InStr(1, strContent, strText, bolCase) And Instr(1, strFile, strExt, 1) Then If InStr(1, strContent, "<TITLE>", 1) Then strTitle = Mid(strContent, InStr(1, strContent, "<TITLE>", 1) + 7, InStr(1, strContent, "</TITLE>", 1)) Else strTitle = "未命名" end if myFile=objFile.Path myFile=replace(myfile,RealPath,VirtualPath,1,-1,1) myFile=replace(myfile,"\","/") strCount = strCount + 1 Response.Write "<DL><DT><B><I>"& strCount &"</I></B> - <A HREF=" & myFile & ">" & strTitle & "</A></A></DT><BR><DD>" strTitleL = InStr(1, strContent, "</TITLE>", 1) - InStr(1, strContent, "<TITLE>", 1) + 7 strDeTag = "" bolTagFound = False Do While InStr(strContent, "<") bolTagFound = True strDeTag = strDeTag & " " & Left(strContent, InStr(strContent, "<") - 1) strContent = MID(strContent, InStr(strContent, ">") + 1) Loop strDeTag = strDeTag & strContent If Not bolTagFound Then strDeTag = strContent Response.Write replace(Mid(strDeTag, strTitleL, 200),strText,"<font color=red>" & strText & "</font>",1,-1,bolcase) Response.Write "...<BR><b><FONT SIZE='2'>URL: " & myFile Response.Write " - 上次修改时间: " & objFile.DateLastModified Response.Write " - " & FormatNumber(objFile.Size / 1024) Response.Write "Kbytes</FONT></b></DD></DL>" bolFileFound = True End If objTextStream.Close End If End If Next End Sub For Each objSubFolder in objFolder.SubFolders schSubFol(objSubFolder) Next If Not bolFileFound then Response.Write "没有匹配结果" If bolFileFound then Response.Write "<B>搜索结束</B>" Set objTextStream = Nothing Set objFolder = Nothing Set objFSO = Nothing %> </BODY></HTML>
|