428 messaggi dal 06 settembre 2002
posto lo script per comodità! la domanda è: come fare per avere anche L'URL completo del file in cui è stato trovato il testo? in questo script abbiamo in uscita solo il nome del file in ciu è contenuto il teso ricercato!Function Search(what, scope) Set FSO = Server.CreateObject("Scripting.FileSystemObject") Set Dir = FSO.GetFolder(scope) For Each objFile in Dir.Files ' apro il file in lettura Set objThisFile = FSO.OpenTextFile(objFile.Path, 1, False) Content = LCase(objThisFile.ReadAll()) objThisFile.Close Set objThisFile = Nothing ' controllo che abbia la parola cercata If Instr(Content, what)<>0 thenstrResults = strResults & "<li>" & objFile.Name End If Next ' con la ricorsione esploriamo anche le sottocartelle For Each SubDir in Dir.SubFolders strResults = strResults & Search(what, SubDir) Next ' liberiamo risorse Set SubDir = Nothing Set FSO = Nothing ' restituiamo i risultati Search = CStr( strResults )End Function' cerco "libri" in "/testi/"parola = "libri"Percorso = Server.MapPath("/testi/")Response.write "<p>Risultati:<ol>"Response.write (Search(parola, Percorso))Response.write "</ol></P>"grazie! in anticipo!

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
428 messaggi dal 06 settembre 2002
scusate... il problema dell'URL è risolto, ora il problema è un'altro:
se prova ad eseguire una ricerca in una cartella abbastanza grande (ad esempio nella root di un sito contenente un migliaio di pagine ma anche in una cartella con non più di 100 pagine) viene visualizzato un messaggio di errore:

Oggetto Server errore "ASP 0177 : 800a003e'

Impossibile eseguire il metodo Server.CreateObject

00000000

come si rieolve? la ricerca puoò essere effettuata solo in cartelle di piccola dimensione!

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
è così, utilizza delle funzioni che hanno un impatto notevole sul server e può causare errori.

prova con on error resume next, ma occhio al timeout...

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
428 messaggi dal 06 settembre 2002
Infatti.. va in timeout!
dove lo inserisco
on error resume next?
Azzz!

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
puoi migliorare lo script, per esempio cercando solo nelle estensioni desiderate.

puoi aumentare il timeout, con
Server.ScriptTimeOut = numerogrande

on error resume next forza l'interccettazione degli errori, puoi metterlo in cima alla pagina ed evita che venga mostrato l'errore, nient'altro.

--
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
http://store.aspitalia.com/scheda.asp?codice=255
ASP 3 per esempi - il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
428 messaggi dal 06 settembre 2002
solo le estenzioni desiderate? come faccio ad esempio a ricercare solo i file con estenzione *.html, *.htm ed *.asp? il tempo di ricerca è comunque lo stesso! i file vengono alizzati comunqeu tutti! cosa cambia?

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
428 messaggi dal 06 settembre 2002
Qualcuno mi risponda! sono disperato! inoltre volevo sapere se qualcuno conosce un metodo che permette di inserire IL NOME CON ESTENSIONE di una pagina in un database se nel momento in cui questa pagina viene caricata su server! insomma: facciamo conto che ho un DB con un campo "pagina" e sul server ho 3 pagine: 1.asp 2.htm e 3.php
nel Db inserisco quindi nel campo "pagina" I 3 RECOR: 1.asp, 2.htm e 3.php
nel momento in cui sul server carico una nuova pagina nominata 4.html vorrei che nel DB, al campo "pagina" venga inserito automaticamente il nome 4.html! è possibile con ASP o sto fantasticando troppo?

§§################################################§§
-La gente da buoni consigli se non può più dare il cattivo esempio-
§§################################################§§
902 messaggi dal 19 aprile 2001
ma se il problema è il motore di ricerca perchè non fai attivare index server e ci accedi attraverso oledb.... Mi sembra + facile è potente...

*****************************
Traspi.net - magazine on line
http://www.traspi.net
Da Torino al mondo Internet il nuovo magazine on line di cultura, creatività, informazione e servizi.
mailto:webmaster@traspi.net
*****************************

Traspi.net
Da Torino al mondo Internet il magazine di cultura, creatività e informazione.
www.traspi.net
Mauro Tortone
webmaster@traspi.net

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.