Puede pensar: OK, ahora sé cómo escribir en el archivo. ¿Pero podemos hacer más? Intentemos crear una función de búsqueda para el sitio web.
La clave para construir un motor de búsqueda es la recursión. Principalmente, escriba un código para buscar archivos en el directorio y luego ejecute el mismo código en todos los bucles de directorios. porque
Para no poder determinar cuántos subdirectorios hay en total, el código de búsqueda debe ejecutarse una y otra vez hasta que esté terminado. ¡Las llamadas recursivas son muy buenas!
Creemos una página de búsqueda. Supongamos que se ha creado un formulario HTML, donde el usuario ingresa una cadena de búsqueda.
Dim objfolder
Dim strsearchText
Dim objfso
strsearchText = request.form (searchText) < - la cadena de búsqueda
'Crea los objetos FSO y de la carpeta
Establecer fso = server.createObject (scripting.filesystemObject)
Establecer objfolder = objfso.getfolder (server.mappath (/))
Buscar objfolder
El código anterior simplemente inicializa las variables, y la función de búsqueda ejecuta la función de búsqueda, que se describe de la siguiente manera:
Búsqueda de funciones (objfolder)
Dim objsubfolder
'Reunir cada archivo en la actual
carpeta
Para cada objfile en objfolder.files
Establecer objTextStream = objfso.opentextfile (objFile.path, 1) < - para leer
'Lea el contenido del archivo en un
variable
strfilecontents = objTextStream.Readall
'Si la cadena de búsqueda está en el archivo, entonces
Escribe un enlace
'al archivo
Si Instr (1, strfilecontents, strsearchText, 1) entonces entonces
Respuesta.write <a href =/ & objfile.name & _
> & objfile.name & < /a> <r>
BolfileFound = True
Final si
objTextStream.close
Próximo
'Aquí está la parte de recursión, para cada uno
'Subcarpeta En este directorio, ejecute la función de búsqueda nuevamente
Para cada objsubfolder en objfolder.subfolders
Buscar objsubfolder
Próximo
Función final
Para poder abrir un archivo, FSO requiere la ruta de archivo real, no la ruta web. Por ejemplo, es C: inetpubwwwroot empiindex.html, no
www.enfused.com/temp/index.html o /temp/index.html. Para convertir el último en el primero, use server.mappath
(nombre de archivo), el nombre de archivo representa el nombre de la ruta web.
El código anterior se ejecutará en cada subdirectorio de la carpeta en el directorio inicial que especifique, donde el directorio inicial se refiere al directorio raíz web/. Entonces
Simplemente abra cada archivo en el directorio para ver si contiene la cadena especificada.
Tenga en cuenta que a medida que aumenta el número de archivos y subdirectorios, aumentará el tiempo que toma las búsquedas. Si necesita un trabajo de búsqueda pesado, se le recomienda tomar otras medidas
Métodos, como el servidor Index Index Servidor de Microsoft.