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

📄 search.asp

📁 ASP 网页数据库短训教程源码
💻 ASP
字号:
<HTML>
<HEAD>
<TITLE>返回'<%=Request("SearchText")%>'的搜索结果</TITLE>
</HEAD>
  <BODY>
    <B>返回'<%=Request("SearchText")%>'的搜索结果</B><BR>
<%
    '定义变量
  Dim objFSO, objFile, objFolder, objSubFolder, objTextStream
  Dim bolFileFound 
  Dim strCount, strContent, strRoot, strText 
    '初始化变量
  strRoot = "/"                 	'扫描路径从Web文件夹的“根”开始
  strText = Request("SearchText") 	'获取待搜索关键字
  bolFileFound = False          	'初始化文件被找到标志为“假”
    '创建文件系统对象实例
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    '获取网站在本机上的真实路径
  strRealPath = Server.MapPath(strRoot)
    '获取网站名
  strVirtualPath = "http://" & Request.ServerVariables("Server_Name") 
    '创建网站根目录的文件夹列表
  Set objFolder = objFSO.GetFolder(strRealPath)
    '调用子程序subSearch()查找并显示根文件夹中含有关键字的文件
  subSearch(objFolder)
    '对网站根目录的所有一级子目录的文件进行搜索
  For Each objSubFolder in objFolder.SubFolders
    subSearch(objSubFolder)
  Next
    'bolFileFound标志为假,显示“没有匹配结果”
  If Not bolFileFound then Response.Write "没有匹配结果"
    'bolFileFound标志为真,显示“搜索结束”
  If bolFileFound then Response.Write "<B>搜索结束</B>"
    '释放变量所占用的内存空间
  Set objFolder = Nothing
  Set objFSO = Nothing
%>
<%
    '查找并显示objForder对象中文件列表中含关键字的文件的子过程
  Sub subSearch(objFolder)
    On Error Resume Next
      '遍历objForlder中所有文件
    For Each objFile In objFolder.Files
        '测试关键字是否为空,为空则直接返回
      If strText = "" Then Exit Sub
        '测试客户端程序是否还与服务器相连,如断开,则返回
      If Response.IsClientConnected Then
          '创建流文件对象,按文本、只读(1)模式打开文件
        Set objTextStream = objFSO.OpenTextFile(objFile.Path, 1)
          '文件所有内容赋于字符串变量strContent
        strContent = objTextStream.ReadAll
          '从第一个字符开始查找关键字,如无,则返回;找到,则显示文件信息
        If InStr(1, strContent, strText) <> 0 Then
            '获取文件物理路径
          strFilePath = objFile.Path
            '用网络路径名替换文件的物理路径名
          strFilePath = Replace(strFilePath, strRealPath, strVirtualPath)
            '将物理路径中目录的分隔符“\”替换成网络路径中使用的“/”
          strFilePath = Replace(strFilePath,"\","/")
            '将找到文件的计数器值加1,从1开始显示找到的文件数
          strCount = strCount + 1
            '显示文件信息:网络路径、上次修改时间、文件大小
          Response.Write "<DL><DT><B><I>"
          Response.Write strCount & "</I></B> -  <A href="
          Response.Write strFilePath & "> " & strFilePath & "</A></DT><BR><DD>" 
          Response.Write "<B><FONT size=2>上次修改时间: " & objFile.DateLastModified
          Response.Write "<BR>文件大小:" & FormatNumber(objFile.Size / 1024)
          Response.Write "KB</FONT></B></DD></DL>" 
            '设找到符合条件的文件标志为“真”
          bolFileFound = True
        End If
          '关闭流文件,释放内存
        objTextStream.Close
        Set objTextStream = Nothing
      End If
    Next
  End Sub  '子程序结束
%>
  </BODY>
</HTML>

⌨️ 快捷键说明

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