webForumDet fria alternativet

sökning...?????

PHP

10 svar · 288 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Frågan#1

hallå!

går det att skaffa en sökmotor till sin sida, som då skulle söka igenom ens egna sida? tacksam om det INTE är databas inblandad :) och om databas behövs funkar då access?
tack å hej! trevlig jul förresten! :)

Medlem sedan feb. 20001 270 inlägg
#2

Ja självklart..
Det är bara att läsa igenom samtliga filer..

Med bl.a. följande funktioner:

fopen()
strstr()

------------------
woodi
Svenska FF1
www.johan-skog.nu

Medlem sedan dec. 20002 526 inlägg
#3

mmm.... men du jag kan inte php (är nybörjare) så du vet inte var man kan fixa ett "färdigt" script?

funkar det att skapa en söfunktion i överhuvuttaget utan databas?

Medlem sedan apr. 20007 588 inlägg
#4

Jag slängde ihop ett litet "quick-n-dirty"-script som du kan kolla på. Det är söligt, ej feltolerant, fult och inte något jag skulle använda på riktigt men du får en bild av hur du skall gå tillväga.

Kolla här: http://script.webforum.nu/wf/Forum4/HTML/000017.html

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

[Redigerat av sgtpepper den 23 dec 2000]

Medlem sedan dec. 20002 526 inlägg
#5

mmm.... tack för scriptet...men exakt vad ska man ändra i det? jag har ett konto på www.f2s.com och för mig är det www.billdal.f2s.com och om jag nu vill att sökscriptet ska söka genom mappen "search" hur gör man då? här är scriptet:

<html>
<body>
<?
// Konfiguration
$searchPath = "/usr/local/apache/katalog_som_skall_sökas";
$urlBase = "http://www.mittdomän.se/katalog_som_skall_sökas";

// Kolla om formvariabeln search är satt, om inte, visa ett sökformulär
if (!isset($search))
{
?>
<form action="<?= $php_self ?>">
<input type="text" name="search">
<input type="submit">
</form>
<?
}
else
{
// Öppna alla filer i sökkatalogen en och en och sök i dessa
$pathHandle = dir($searchPath);

// Iterera igenom katalogen
while($entry = $pathHandle->read())
{
// Plocka ut filnamn efter filnamn och lägg på katalognamnet
$currentFile = $searchPath . "/" . $entry;

// Om aktuellt filnamn är en fil och inte en katalog
if (is_file($currentFile))
{
// Läs in hela filen i ett svep
$contents = join ('', file($currentFile));

// Sök efter angivet sökord
if (eregi($search,$contents))
$result .= "<a href='$urlBase/$entry'>$entry</a><br>\n";
}
}
$pathHandle->close();

// Om result-variabeln är tom => inga resultat funna
if ($result == "")
print "Inga filer funna";
else
print "Resultat:<br>" . $result;
}
?>

</body>
</html>

Medlem sedan apr. 20007 588 inlägg
#6

Du skall sätta konfigurationsvariablerna så att dom passar din katalogstruktur, t.ex:

// Konfiguration
$searchPath = "/web/sites/135/billdal/www.billdal.f2s.com/search";
$urlBase = "http://www.billdal.f2s.com/search";

Katalognamnet som skall in i variabeln $searchPath ovan får du ta reda på själv, den jag skrivit stämmer antagligen inte. Skapa en liten fil som du kallar pwd.php och som innehåller

<?
	print getcwd();
?>

Kör filen så ser du hur sökvägen till ditt konto ser ut.

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

Medlem sedan apr. 20007 588 inlägg
#7

Crisse6, jag såg att du lagt upp mitt script på wF Script, det var onödigt eftersom jag redan postat det där i mitt eget namn.

Jag förstår inte riktigt vitsen med att du dubbelpostar mitt script fastän du redan sett att det ligger där och inte ens anger källan. Ta bort det eller drabbas av sju års olycka.

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

Medlem sedan sep. 2000221 inlägg
#8

Jag får inte rätt på det där med katalogerna och jag provade att göra en pwd.php fil och körde den men då visades bara en vitt sida i webbläsaren... för det var väl i webbläsaren man skulle köra den eller???

------------------
...

Medlem sedan apr. 20007 588 inlägg
#9

kajus, är du säker på att du har stöd för php på servern? Får du några felmeddelanden?

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

Medlem sedan sep. 2000221 inlägg
#10

Ja... jag är säker... www.mycgiserver.com klarar alla mina andra phpskript som jag provat... förutom skript som man behöver egen databas till förstås...

------------------
...

Medlem sedan apr. 20007 588 inlägg
#11

Ok, mycgiserver har väl spärrat det. Logga in på medlemssidan och leta upp den rubrik där det står "Filesystem path to account root:, där hittar du sökvägen till ditt konto. Om du vill att scriptet skall söka i katalogen search och sökvägen till ditt konto är /members/1XDbhT59casdfFoP1f3ySUHlpWeERXF1 så lägger du alltså in:

/members/1XDbhT59casdfFoP1f3ySUHlpWeERXF1/search i scriptet.

------------------
"Common sense is the collection of prejudices acquired by age 18" - Albert Einstein

[Redigerat av sgtpepper den 27 dec 2000]

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)