sökning...?????

PHP

10 svar · 291 visningar · startad av crisse6

Medlem sedan dec. 20002 526 inlägg
Trådstart#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()

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

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.

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.

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?

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.

251 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)