Avatar billede popstar Nybegynder
27. januar 2003 - 10:18 Der er 8 kommentarer og
1 løsning

ASP: Søgemaskine til html sider

Vi har et intranet, som ligger som html og aspfiler på vores server. Html-filerne laves meget simpelt i Word og gemmes derefter i en mappestruktur som htmlfiler.

Hjælp:
Vi savner en søgefunktion, som kan gå ned og søge fritekst i hver html/asp fil og filnavn, da vores Intranet er ved at blive meget omfattende.

Forslag til script ønskes!
Avatar billede dk_akj Nybegynder
27. januar 2003 - 12:30 #1
Måske var microsoft indexserver en mulighed ??
Der er jo ingen grund til at opfinde den flyvende tallerken 2 gange.

http://www.microsoft.com/ntserver/ProductInfo/faqs/Indexfaq.asp

Jeg har ikke selv brugt den og har derfor ingen erfaring med hvordan det virker eller skal sættes op.

//akj
Avatar billede popstar Nybegynder
27. januar 2003 - 13:48 #2
Det var ikke lige det jeg var på udkig efter...
Avatar billede dk_akj Nybegynder
27. januar 2003 - 14:09 #3
Den opfylder da ellers de krav du stiller. Og ganske utroligt er den gratis....

Nå men så må du jo selv lave tallerkenen.

Evt noget som dette:

for each f in folder.
' åben filen
do while not file.eof
  ' læs linien
  data = file.readline
  if instr (data, søgeord) > 0 then
    '  data er fundet
  end if
  loop
next

//akj
Avatar billede popstar Nybegynder
27. januar 2003 - 15:25 #4
Jeg havde godt nok ikke tænkt mig selv at lave tallerken - hvad har man ellers www.eksperten.dk til?
Avatar billede hossein Nybegynder
27. januar 2003 - 23:23 #5
her kan du søge de filer so du har liggende på din driver. du skal ændre linie 6 til din egen adresse. I linie 30 bestemmer du hvilke type (extention) fil er tilladt eller valgt.
<%
option Explicit
Dim objFolder,strSearchText,objfso,sc,numItems,begpos,endpos,slen,sResult
if Request.form("SearchText") = "" Then
With Response
.write "<head></head><BODY ><Basefont face=Tahoma><TITLE>http://www11.brinkster.com/hossein/index.asp</TITLE><h2><Center> Søg http://www11.brinkster.com/hossein/index.asp</h2></center><BR><div align=center id=status></div><BR><BR>"
.write "<FORM ACTION=http://www11.brinkster.com/hossein/index.asp METHOD=POST>"
.write "<INPUT TYPE=TEXT NAME=SearchText><BR>"
.write "<INPUT TYPE=SUBMIT VALUE=Søg></FORM>"
end with
else

Server.ScriptTimeout = 90
strSearchText = UCase(Request.Form("SearchText") )

Set objfso = Server.CreateObject("Scripting.FileSystemObject")
sc = Request.form("SC")
sc ="."
Set objFolder = objFSO.GetFolder(Server.MapPath(sc))
sResult ="<head></head><BODY ><TITLE>Søge Resultat(er)</TITLE><h2><Center>Søg i Sitet</h2></center><BR><div align=center id=status></div><BR><BR>"
Search objFolder
if numItems = "" then numItems = "0"
sResult =sResult & "<BR><script language=Javascript>document.all.status.innerHTML="""&numItems&" fil blev foundet. <BR> <A href=index.asp>Søg igen</a>"";</script></body></html>"
Response.write sResult
Function Search(objFolder)
Dim objSubFolder,sext,objFile,objTextStream,strFileContents
'on error resume next
For Each objFile in objFolder.Files
sext = Ucase(mid(objFile.Name, Len(objFile.Name)-3, 4))
if sext = ".HTM" or sext = ".TXT" or sext = ".ASP" then
'if sext = ".ASP" then
Set objTextStream = objFSO.OpenTextFile(objFile.Path,1)
strFileContents = objTextStream.ReadAll
strFileContents = UCase(strFileContents)
if instr(1,strFileContents, "NOINDEX",1) = 0 then
If InStr(1, strFileContents, strSearchText, 1) then
numItems = numItems +1
sResult = sResult & numItems & ".)&nbsp; <A HREF=""" & objFile.Name & """>" & objFile.Name & "</A><BR>"
End if
End If
objTextStream.Close
end if

if err.number <> 0 then
response.write err.description & "<BR>"
err.clear
end if

Next
For Each objSubFolder in objFolder.SubFolders
Search objSubFolder
Next
End Function
end if
%>

vh    hossein
Avatar billede popstar Nybegynder
28. januar 2003 - 14:19 #6
hossein: Den virker jo fint hos dig... men jeg kan ikke få den til at virke hos os på http://Intranet

Har du en idé til det?

(Du skal nok få pointene!)
Avatar billede hossein Nybegynder
28. januar 2003 - 14:56 #7
ok, hvad er det, som ikke virker?
du skal skrive hele adressen til den fil som du har puttet koden i fx index.asp i denne linie:
"<FORM ACTION=http://www11.brinkster.com/hossein/index.asp METHOD=POST>"
brug evt. IP adressen til serveren.
Avatar billede hossein Nybegynder
28. januar 2003 - 15:29 #8
du kan også prøve med fysiske sti som: C:\hgfggh\index.asp
Avatar billede hossein Nybegynder
03. februar 2003 - 21:20 #9
Tak for pointen. men virker det nu?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester