Você pode pensar: ok, agora eu sei como escrever no arquivo. Mas podemos fazer mais? Vamos tentar criar uma função de pesquisa para o site.
A chave para construir um mecanismo de busca é a recursão. Principalmente, escreva um pedaço de código para pesquisar arquivos no diretório e, em seguida, execute o mesmo código em todos os loops de diretórios. porque
Para não poder determinar quantas subdiretas estão no total, o código de pesquisa deve ser executado repetidamente até que seja concluído. As chamadas recursivas são muito boas!
Vamos criar uma página de pesquisa. Suponha que um formulário HTML tenha sido criado, onde o usuário insere uma sequência de pesquisa.
ObjFolder Dim
Dim StrSearchText
Dim objfso
strSearchText = request.form (SearchText) < - A sequência de pesquisa
'Crie os objetos de FSO e pasta
Set fso = server.createObject (script.filesystemoBject)
Set objFolder = objfso.getFolder (server.mappath (/))
Pesquise ObjFolder
O código acima simplesmente inicializa as variáveis, e a função de pesquisa executa a função de pesquisa, descrita da seguinte forma:
Pesquisa de funções (ObjFolder)
ObjsubFolder Dim
'Faça um loop através de todos os arquivos no atual
pasta
Para cada objfile em ObjFolder.Files
Definir objTextStream = objfso.opentExtfile (objfile.path, 1) < - para leitura
'Leia o conteúdo do arquivo em um
variável
strFileContents = objTextStream.readall
'Se a sequência de pesquisa estiver no arquivo, então
Escreva um link
'Para o arquivo
Se Instr (1, StrfileContents, StrSearchText, 1) então
Response.write <a href =/ & objfile.name & _
> & objfile.name & < /a> <br>
BolfileFound = True
Final se
objTextStream.close
Próximo
'Aqui está a parte da recursão - para cada
'subpasta neste diretório, execute a função de pesquisa novamente
Para cada objsubFolder em ObjFolder.SubFolders
Pesquise ObjSubFolder
Próximo
Função final
Para poder abrir um arquivo, o FSO requer o caminho real do arquivo, não o caminho da web. Por exemplo, é c: inetpubwwwroot empiindex.html, não
www.enfused.com/temp/index.html ou /temp/index.html. Para converter o último para o primeiro, use Server.mappath
(nome do arquivo), o nome do arquivo representa o nome do caminho da web.
O código acima será executado em cada subdiretório da pasta no diretório inicial que você especificar, onde o diretório inicial se refere ao diretório da web root/. Então
Basta abrir cada arquivo no diretório para ver se ele contém a sequência especificada.
Observe que, à medida que o número de arquivos e subdiretos aumenta, o tempo necessário para pesquisas aumentará. Se você precisar de um trabalho de pesquisa pesada, é aconselhado a tomar outras medidas
Métodos, como o Microsoft Index Server Index Server.