Eigen zoek machine op mijn site.
Ik zelf ben al een tijd op zoek naar een script (voorbeeld) om een zoek functie te kunnen toevoegen op men site.
Echter kan ik goed php'en maar een zoek functie gaat me tever.
Ik zou graag de volgende funcies er in willen hebben:
Het zoeken door bestanden, en mappen. En in de database. (mysql)
Weet iemand een zoek machine (geen google) om op men site te kunnen plaatsen. Of wilt iemand een voorbeeld geven om zoiets te kunnen maken.
Mvg,
mr. de jong
Gewijzigd op 01/01/1970 01:00:00 door Dutch Caffeine
klik!
Door bestanden en mappen wordt lastiger, dan zul je eea moeten cachen denk ik, aangezien het nogal veel serverload zal kosten om bij iedere actie bestanden te openen naar zoekstrings.
MySQL heeft in ieder geval van huis uit een goede zoekmachine: Door bestanden en mappen wordt lastiger, dan zul je eea moeten cachen denk ik, aangezien het nogal veel serverload zal kosten om bij iedere actie bestanden te openen naar zoekstrings.
In iedergeval is mysql al heel wat, het meeste staat ook in men mysql. Maar het is ook een idee om standaard zoek worden in een mysql tabel te plaatsen.
Hartelijk dank Kasper.
je moet het nog wel een beetje aanpassen natuurlijk en je hebt een linux server nodig :)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
error_reporting(E_ALL);
if(isset($_GET['z']))
$zoekwoord = htmlentities($_GET['z']);
else
$zoekwoord = 'test';
$list = shell_exec("ls");
$files = explode("\n", $list);
$resultaten = array();
echo '<b>Zoeken naar ' . $zoekwoord . '</b><br />';
foreach($files as $file)
{
if($file != "." || $file != "..")
{
$result = shell_exec("cat " . $file . "");
if(preg_match("/" . $zoekwoord . "/i", $result))
{
$resultaten[] = $file;
}
}
}
if(count($resultaten) > 0)
{
foreach($resultaten as $f)
{
echo '<a href="' . $f . '">' . $f . '</a><br />';
}
}
else
echo '<u>Geen resultaten!</u>';
echo '<b>' . count($resultaten) . ' resultaten</b>';
?>
error_reporting(E_ALL);
if(isset($_GET['z']))
$zoekwoord = htmlentities($_GET['z']);
else
$zoekwoord = 'test';
$list = shell_exec("ls");
$files = explode("\n", $list);
$resultaten = array();
echo '<b>Zoeken naar ' . $zoekwoord . '</b><br />';
foreach($files as $file)
{
if($file != "." || $file != "..")
{
$result = shell_exec("cat " . $file . "");
if(preg_match("/" . $zoekwoord . "/i", $result))
{
$resultaten[] = $file;
}
}
}
if(count($resultaten) > 0)
{
foreach($resultaten as $f)
{
echo '<a href="' . $f . '">' . $f . '</a><br />';
}
}
else
echo '<u>Geen resultaten!</u>';
echo '<b>' . count($resultaten) . ' resultaten</b>';
?>
gr. leroy
Edit:
het enige probleem is dus wel dat als je bijv. in je php code als commentaar zet 'OMFG! ik ben egt botergeil!' en iemand zoekt op botergeil dat hij/zij dan ook op die pagina uitkomt :P
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
Ik ga het gebruiken, wel wat veranderen ook om dat ik gebruik maak van een template parser. En de boel ook na men eigen smaak indelen.
En die worden, zijn verboden worden en worden dus ook er uit gefilterd.
Edit:
Wat ben ik blij dat deze website (die ik maak) op een linux server komt..
Wat ben ik blij dat deze website (die ik maak) op een linux server komt..
Gewijzigd op 01/01/1970 01:00:00 door Dutch Caffeine
$list = shell_exec("ls");
---
Spitten door mappen en bestanden kan veel makkelijker.
http://www.phphulp.nl/php/zoeken.php?search=1&q=bestanden&w=PHP+scripts&=+Zoeken+
http://nl3.php.net/manual/nl/function.glob.php
edit:
daarnaast moet safe mode aanstaan.
Gewijzigd op 01/01/1970 01:00:00 door Kalle P
Kalle schreef op 06.09.2007 00:19:
daarnaast moet safe mode aanstaan.
uitstaan ;)
en ls is genoeg! want ik heb ook nog cat gebruikt ;) je kan het ook in een for met combinatie van een array om meerdere mappen te doorzoeken..