Eigen zoek machine op mijn site.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dutch Caffeine

Dutch Caffeine

05/09/2007 20:08:00
Quote Anchor link
Beste leden,

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
 
PHP hulp

PHP hulp

19/04/2024 05:28:27
 
Winston Smith

Winston Smith

05/09/2007 20:12:00
Quote Anchor link
MySQL heeft in ieder geval van huis uit een goede zoekmachine: 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.
 
Dutch Caffeine

Dutch Caffeine

05/09/2007 20:23:00
Quote Anchor link
oke, dus dan kan ik beter via mysql doen. En bestands namen?

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.
 
Leroy Boerefijn

Leroy Boerefijn

05/09/2007 21:28:00
Quote Anchor link
ik heb snel ff iets gescript, ik denk dat het sneller is dan (en minder serverload kost) elk bestand openen.. maar ik weet het niet zeker :)
je moet het nog wel een beetje aanpassen natuurlijk en je hebt een linux server nodig :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>';
?>


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
 
Dutch Caffeine

Dutch Caffeine

05/09/2007 22:24:00
Quote Anchor link
Thanks leroy,

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..
Gewijzigd op 01/01/1970 01:00:00 door Dutch Caffeine
 
Kalle P

Kalle P

06/09/2007 00:19:00
Quote Anchor link
Zal je wel wat meer moeten toevoegen dan alleen "ls"

$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
 
Leroy Boerefijn

Leroy Boerefijn

06/09/2007 16:30:00
Quote Anchor link
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..
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.