专题栏目
  • 濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鎮规潪鎷岊劅婵炲吋鐗滅槐鎾存媴閼测剝鍨垮畷锝堢疀濞戞瑧鍘遍梺鍦亾椤ㄥ懐鈧凹鍓氶幆鏃€绻濋崶銊у幍闂佺ǹ绻楅崑鎰板汲濮椻偓閺屾盯寮崸妤娾偓妤呮煟閿濆懐浠涚紒妤冨枛閸┾偓妞ゆ帒瀚粻鏍ㄤ繆閵堝懏鍣归柟纭呭煐閵囧嫰骞樼捄鍝勫闂侀€炲苯澧柣顓炲€垮璇测槈閵忊€斥偓鐑芥煠绾板崬澧板Δ鏃堟⒒娴g瓔鍤冮柛鐘崇墱缁辩偞绻濋崒婊勬闂佸壊鍋呭ú姗€鎮¢妷鈺傚€甸柨婵嗙凹閹叉儳霉绾攱瀚�
  • 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閸欏偊绠撻弻锝夊箛椤旇姤姣勯梺娲诲幖濡濡撮幒鎴僵闁挎繂鎳嶆竟鏇㈡煟鎼淬値娼愭繛娴嬫櫇缁辩偞绗熼埀顒勬偘椤旂⒈娼ㄩ柍褜鍓欓锝夊醇閺囩偟顓洪梺缁樶缚閺佺ǹ鐣垫笟鈧娲嚒閵堝懏鐎剧紓渚囧枛閻偐鍒掗弮鍫濈濞达綀娅i敍婵嬫⒑鐟欏嫬绀冩い鏇嗗懐涓嶆慨妯块哺閸犳劖绻濇繝鍌滃闁告俺顫夋穱濠囧Χ閸涱喖娅ら梺缁樻尪閸庣敻寮婚敐澶婂嵆闁绘劖绁撮崑鎾诲捶椤撴稑浜炬慨妯煎亾鐎氾拷
  • 缂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕闁芥ɑ绻傞湁闁稿繐鍚嬬紞鎴︽煕閵娿儱鈧潡寮婚敐澶婎潊闁绘ê妯婂Λ宀勬⒑鏉炴壆顦︽俊顐g箞瀵鏁愭径濠勭潉闂佺ǹ鏈懝鐐濮椻偓濮婂搫煤鐠囨彃绠哄銈冨妼閿曨亜顕f繝姘亜閻炴稈鈧厖澹曞┑鐐村灦閻燂紕绱撳杈╃<闁绘ɑ鍨氶幋鐘冲床婵炴垯鍨圭粈鍌炴煕韫囨洍鎷℃俊顐㈠暣濮婅櫣鎷犻垾铏亪闂佹悶鍨洪悡锟犲春閵忊剝鍎熼柕鍫濇川閺夋悂姊洪崷顓℃闁搞劎澧楃粋宥嗐偅閸愨晝鍘卞┑鐘绘涧鐎氼剟宕濋妶鍥╃<闁规彃顑囬悾鐢告煛瀹€鈧崰鏍€佸☉銏犲耿婵°倕瀚顓炩攽閻愯尙澧遍柛瀣工椤繘鎼圭憴鍕/闂侀潧枪閸庢煡鎮甸姀銈嗏拺闁荤喐婢樺▓鈺呮煙閸戙倖瀚�
  • 闂傚倸鍊搁崐宄懊归崶褏鏆﹂柣銏⑶圭粣妤呮煙閹殿喖顣奸柛瀣剁節瀵爼宕煎顓熺彅缂備浇缈伴崐鏇$亙闂佹寧绻傞幊搴ㄥ汲濞嗘劒绻嗘い鎰惰抗椤忓牆违闁圭儤鍩堝ḿ鈺呮煥濠靛棙鍣稿瑙勬礃娣囧﹪濡堕崶顬儵鏌涚€n偄濮嶇€规洘鍨块獮姗€寮妷锔芥澑闂備胶绮玻璺ㄥ垝椤栨埃妲堢憸搴f崲濞戞矮娌柛灞惧焹閸嬫挸鈹戦崱娆愭闂侀潧绻堥崐鏇犵不閾忣偂绻嗛柕鍫濇噹閺嗘瑧鎲搁弶鍨伃婵﹥妞介獮鏍倷閹绘帒螚闂備礁鎲¢崝蹇涘疾濠婂牜鏁婇柛鏇ㄥ幘绾句粙鏌涚仦鍓ф噭缂佷胶澧楅妵鍕籍閳ь剟宕濆▎鎾跺祦闊洦绋掗弲鎼佹煥閻曞倹瀚�
  • 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閸欏偊绠撻弻锝夊箛椤掍讲鏋欏┑鐐存尭椤兘寮婚悢鍏煎€绘俊顖滃劦閹峰姊洪崨濠庢畷鐎光偓缁嬫娼栨繛宸簻閸ㄥ倹銇勯弴鐐村櫣闁告挻澹嗙槐鎾存媴缁嬫鏆㈤梺绋款儑閸犳牠鐛径宀€鐭欐繛鍡樺劤閹垿姊洪幖鐐插姉闁哄懏绻冨鍕礋椤栨稈鎷洪柣鐘叉礌閳ь剙纾埀顒€顭烽幃姗€鎮欑捄鐩掓挻銇勯弬鍨偓鍦崲濠靛牆鏋堝璺虹灱閿涚喖姊虹粙娆惧剱缂佸甯″鏌ュ醇閺囩喎浠奸悗鍏夊亾闁逞屽墴閹矂骞樼紒妯煎幗闂佽鍎崇壕顓㈡儊瀹ュ鐓曢柨鏃囶嚙楠炴鏌涜箛鏃傜煉婵﹥妞藉畷褰掝敋閸涱厼澹堟俊鐐€曟蹇涘箯閿燂拷
  • 您现在的位置: 军旅同心 >> 读书赏析 >> 学习园地 >> 电脑网络 >> 技术文章 >> 文章正文
    ASP中FSO的神奇功能 - 使用FSO进行搜索
    作者:采集员 文章来源:来源于网络 点击数:316 更新时间:2005-9-10 12:53:31


       你也许想:好,现在我知道如何写入文件了。但能做到更多一些吗?下面来试一试为web站点建立一个搜索功能。

       建立搜索引擎的关键是递归。主要地,编写一段代码搜索目录下的文件,然后对所有的目录循环执行同样的代码。因
    为不能确定总共有多少个子目录,所以必须一遍又一遍地执行搜索代码,直到结束。递归调用非常好!

       下面来创建搜索页面。假设已经建立了一个HTML表单,用户在其中输入一个搜索字符串。

    Dim objFolder
    Dim strSearchText
    Dim objFSO

    strSearchText = Request.Form("SearchText")  < -- The search string
    ' create the FSO and Folder objects
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    Set objFolder = objFSO.GetFolder(Server.MapPath("/"))

    Search objFolder


       上面的代码简单地初始化变量,Search函数执行搜索功能,描述如下:



    Function Search(objFolder)

      Dim objSubFolder



      'loop through every file in the current
    folder

      For Each objFile in objFolder.Files

        Set objTextStream = objFSO.OpenTextFile(objFile.Path,1) < -- For Reading



            'read the file's contents into a
    variable

            strFileContents = objTextStream.ReadAll



            'if the search string is in the file, then
    write a link

            ' to the file

            If InStr(1, strFileContents, strSearchText, 1) then

               Response.Write "< A HREF=""/" & objFile.Name & _

                    """>" & objFile.Name & "< /A>< BR>"



               bolFileFound = True

            End If



            objTextStream.Close



      Next



      'Here's the recursion part - for each

      ' subfolder in this directory, run the Search function again

      For Each objSubFolder in objFolder.SubFolders

            Search objSubFolder

      Next

    End Function

       为了能打开文件,FSO需要实际的文件路径,而不是web路径。比如,是c:inetpubwwwroot empindex.html, 而不是
    www.enfused.com/temp/index.html 或者 /temp/index.html。 为了将后者转换为前者,使用Server.MapPath
    ("filename"), filename表示web路径名。

       上面的代码将在你指定的初始目录下的文件夹的每一个子目录中执行,在这里,初始目录是指web根目录“/”。然后
    就简单地打开目录下的每一个文件,看看其中是否包含指定的字符串,如果找到字符串就显示那个文件的链接。

       注意,随着文件和子目录数量的增加,搜索花费的时间也将增加。如果需要繁重的搜索工作,建议你采取其他的方
    法,比如微软公司的索引服务器Index Server。


     
    免责声明:作品版权归所属媒体与作者所有!!本站刊载此文不代表同意其说法或描述,仅为提供更多信息。如果您认为我们侵犯了您的版权,请告知!本站立即删除。有异议请联系我们。
    文章录入:烟灰缸    责任编辑:烟灰缸 
    高级搜索
       
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 |