Ein Search Engine für deine Web site mit PHP bilden
| by Rory Canyon | October 28, 2005
Dieses Hände auf PHP programmierenartikel liefert das Wissen, das notwendig ist, ein Search Engine für deine Web site mit PHP Version 4.0 zu entwerfen und zu entwickeln und oben. Ein Search Engine für deine Web site mit PHP zu bilden ist wirklich einfach und stellt die erhebliche Funktionalität zur verfügung, die durch die meisten vom kleinen zu den mittleren Web site erfordert wird. Dieser Artikel stellt jedes Schritte der Entwicklung, einschließlich Design und DIE PHP Programmierung vor. Grundlegende Computerfähigkeiten und Wissen der HTML Grundlagen wird angefordert. O.K., lassen Sie uns jetzt anfangen.
Schritt 1: Design-Suchkasten
Unter deiner Web site Wurzel eine Akte bilden, die search.htm genannt wird, oder alles, das du magst und tippen den folgenden Code ein:
<html>
<head>
<title>Web Search</title>
<meta http-equiv= " Inhalt-Art " content= " Text/HTML " >
</head>
<body bgcolor= " #FFFFFF " text= " #000000 " >
<form name= " form1 " method= " Pfosten " action= " search.php " >
<table width= " 100% " cellspacing= " 0 " cellpadding= " 0 " >
<tr>
<td width= " 36% " >
<div align= " Mitte " >
<input type= " Text " name= " Schlüsselwort " >
</div>
</td>
<td width= " 64% " >
<input type= " reichen " name= " einreichen " value= " Suche " > ein
</td>
</tr>
</table>
</form>
</body>
</html>
Schritt 2: Search.php Akte schreiben. Es ist der Kern deines Web site Search Engine.
Unter deiner Web site Wurzel eine Akte herstellen, die search.php genannt wird, oder alles, das du magst.
<? php
//get Schlüsselwörter
$keyword=trim ($_POST [„Schlüsselwort“]);
//check, wenn das Schlüsselwort leer ist
wenn ($keyword== "") {
" keine Schlüsselwörter " widerhallen;
Ausgang;
}
?>
Mit oben kannst du Tips geben deinen Benutzern, wenn sie vergessen, ein Schlüsselwort einzutragen. Lassen Sie uns alle Akten oder Artikel in deiner Web site jetzt durchlaufen.
<? php
Funktion listFiles ($dir) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
//if ist es ein Verzeichnis, fortfährt dann
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“);
}
sonst {
//process hier suchen mit dem folgenden PHP Index
}
}
}
}
?>
Die folgenden Indexe lesen, Prozeßakten und überprüfung, ob die Akten $keyword enthalten. Wenn $keyword in der Akte gefunden wird, wird die Akte Adresse in einer Kleidenart Variable gespeichert.
<? php
Funktion listFiles ($dir, $keyword, &$array) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“, $keyword, $array);
}
sonst {
//read Akte
$data=fread (fopen („$dir/$file“, „r“), filesize („$dir/$file“));
//avoid Suche search.php selbst
wenn ($file! = " search.php ") {
//contain Schlüsselwort?
wenn (eregi („$keyword“, $data)){
$array [] = " $dir/$file ";
}
}
}
}
}
}
//define Reihe $array
$array=array ();
//execute Funktion
listFiles („. “, „php“, $array);
//echo/print Suchresultate
foreach ($array als $value) {
Echo „$value“. „<br> n“;
}
?>
Jetzt die Programme kombinieren, die oben verzeichnet werden, findest du alle in Verbindung stehenden Resultate in deinen Web site wirst gefunden und verzeichnet. Eine weitere Optimierung des Search Engine kann genommen werden, indem man das folgende addiert,
1, verzeichnen den Titel allen suchenden Resultaten
DAS FOLGENDE ERSETZEN
wenn (eregi („$keyword“, $data)){
$array [] = " $dir/$file ";
}
MIT
wenn (eregi („$keyword“, $data)){
wenn (eregi („<title> (. +)
</title> ", $data, $m)){
$title=$m [„1“];
}
sonst {
$title= " kein Titel ";
}
$array [] = " $dir/$file $title ";
}
2, fügen Verbindungen dem Suchen von Resultaten hinzu
DAS FOLGENDE ÄNDERN
foreach ($array als $value) {
Echo „$value“. „<br> n“;
}
ZU
foreach ($array als $value) {
($filedir, $title) =split („[]“, $value, „2“ verzeichnen);
„<a href=$filedir>$value</a>“ widerhallen. „<br> n“;
}
Gesetzte 3 Grenzzeit für PHP Durchführung
DAS FOLGENDE AM ANFANG DER PHP AKTEN HINZUFÜGEN
set_time_limit („600“);
Die oben genannte Maßeinheit ist second, so 10 Minuten ist das litmit.
Jetzt alle oben genannten Programme kombinieren und die komplette search.php Akte erhalten, wie folgend,
<? php
set_time_limit („600“);
$keyword=trim ($_POST [„Schlüsselwort“]);
wenn ($keyword== "") {
Echo " tragen bitte dein Schlüsselwort " ein;
Ausgang;
}
Funktion listFiles ($dir, $keyword, &$array) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“, $keyword, $array);
}
sonst {
$data=fread (fopen („$dir/$file“, „r“), filesize („$dir/$file“));
wenn (eregi („<body ([^>] +) > (. +) </body>“, $data, $b)){
$body=strip_tags ($b [„2“]);
}
sonst {
$body=strip_tags ($data);
}
wenn ($file! = " search.php ") {
wenn (eregi („$keyword“, $body)){
wenn (eregi („<title> (. +) </title>“, $data, $m)){
$title=$m [„1“];
}
sonst {
$title= " kein Titel ";
}
$array [] = " $dir/$file $title ";
}
}
}
}
}
}
$array=array ();
listFiles („. “, „$keyword“, $array);
foreach ($array als $value) {
($filedir, $title) =split („[]“, $value, „2“ verzeichnen);
„<a href=$filedir target=_blank>$title </a>“ widerhallen. „<br> n“;
}
?>
Jetzt hast du ein Search Engine für deine Web site, genießt sie gebildet!
Schritt 1: Design-Suchkasten
Unter deiner Web site Wurzel eine Akte bilden, die search.htm genannt wird, oder alles, das du magst und tippen den folgenden Code ein:
<html>
<head>
<title>Web Search</title>
<meta http-equiv= " Inhalt-Art " content= " Text/HTML " >
</head>
<body bgcolor= " #FFFFFF " text= " #000000 " >
<form name= " form1 " method= " Pfosten " action= " search.php " >
<table width= " 100% " cellspacing= " 0 " cellpadding= " 0 " >
<tr>
<td width= " 36% " >
<div align= " Mitte " >
<input type= " Text " name= " Schlüsselwort " >
</div>
</td>
<td width= " 64% " >
<input type= " reichen " name= " einreichen " value= " Suche " > ein
</td>
</tr>
</table>
</form>
</body>
</html>
Schritt 2: Search.php Akte schreiben. Es ist der Kern deines Web site Search Engine.
Unter deiner Web site Wurzel eine Akte herstellen, die search.php genannt wird, oder alles, das du magst.
<? php
//get Schlüsselwörter
$keyword=trim ($_POST [„Schlüsselwort“]);
//check, wenn das Schlüsselwort leer ist
wenn ($keyword== "") {
" keine Schlüsselwörter " widerhallen;
Ausgang;
}
?>
Mit oben kannst du Tips geben deinen Benutzern, wenn sie vergessen, ein Schlüsselwort einzutragen. Lassen Sie uns alle Akten oder Artikel in deiner Web site jetzt durchlaufen.
<? php
Funktion listFiles ($dir) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
//if ist es ein Verzeichnis, fortfährt dann
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“);
}
sonst {
//process hier suchen mit dem folgenden PHP Index
}
}
}
}
?>
Die folgenden Indexe lesen, Prozeßakten und überprüfung, ob die Akten $keyword enthalten. Wenn $keyword in der Akte gefunden wird, wird die Akte Adresse in einer Kleidenart Variable gespeichert.
<? php
Funktion listFiles ($dir, $keyword, &$array) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“, $keyword, $array);
}
sonst {
//read Akte
$data=fread (fopen („$dir/$file“, „r“), filesize („$dir/$file“));
//avoid Suche search.php selbst
wenn ($file! = " search.php ") {
//contain Schlüsselwort?
wenn (eregi („$keyword“, $data)){
$array [] = " $dir/$file ";
}
}
}
}
}
}
//define Reihe $array
$array=array ();
//execute Funktion
listFiles („. “, „php“, $array);
//echo/print Suchresultate
foreach ($array als $value) {
Echo „$value“. „<br> n“;
}
?>
Jetzt die Programme kombinieren, die oben verzeichnet werden, findest du alle in Verbindung stehenden Resultate in deinen Web site wirst gefunden und verzeichnet. Eine weitere Optimierung des Search Engine kann genommen werden, indem man das folgende addiert,
1, verzeichnen den Titel allen suchenden Resultaten
DAS FOLGENDE ERSETZEN
wenn (eregi („$keyword“, $data)){
$array [] = " $dir/$file ";
}
MIT
wenn (eregi („$keyword“, $data)){
wenn (eregi („<title> (. +)
</title> ", $data, $m)){
$title=$m [„1“];
}
sonst {
$title= " kein Titel ";
}
$array [] = " $dir/$file $title ";
}
2, fügen Verbindungen dem Suchen von Resultaten hinzu
DAS FOLGENDE ÄNDERN
foreach ($array als $value) {
Echo „$value“. „<br> n“;
}
ZU
foreach ($array als $value) {
($filedir, $title) =split („[]“, $value, „2“ verzeichnen);
„<a href=$filedir>$value</a>“ widerhallen. „<br> n“;
}
Gesetzte 3 Grenzzeit für PHP Durchführung
DAS FOLGENDE AM ANFANG DER PHP AKTEN HINZUFÜGEN
set_time_limit („600“);
Die oben genannte Maßeinheit ist second, so 10 Minuten ist das litmit.
Jetzt alle oben genannten Programme kombinieren und die komplette search.php Akte erhalten, wie folgend,
<? php
set_time_limit („600“);
$keyword=trim ($_POST [„Schlüsselwort“]);
wenn ($keyword== "") {
Echo " tragen bitte dein Schlüsselwort " ein;
Ausgang;
}
Funktion listFiles ($dir, $keyword, &$array) {
$handle=opendir ($dir);
während (falsch! == ($file=readdir ($handle))){
wenn ($file! = ". „&&$file! =“. “) {
wenn (is_dir („$dir/$file“)){
listFiles („$dir/$file“, $keyword, $array);
}
sonst {
$data=fread (fopen („$dir/$file“, „r“), filesize („$dir/$file“));
wenn (eregi („<body ([^>] +) > (. +) </body>“, $data, $b)){
$body=strip_tags ($b [„2“]);
}
sonst {
$body=strip_tags ($data);
}
wenn ($file! = " search.php ") {
wenn (eregi („$keyword“, $body)){
wenn (eregi („<title> (. +) </title>“, $data, $m)){
$title=$m [„1“];
}
sonst {
$title= " kein Titel ";
}
$array [] = " $dir/$file $title ";
}
}
}
}
}
}
$array=array ();
listFiles („. “, „$keyword“, $array);
foreach ($array als $value) {
($filedir, $title) =split („[]“, $value, „2“ verzeichnen);
„<a href=$filedir target=_blank>$title </a>“ widerhallen. „<br> n“;
}
?>
Jetzt hast du ein Search Engine für deine Web site, genießt sie gebildet!
Article Source: http://www.articleset.com

You are welcome to publish or reprint this article free of charge, provided:
- you include the entire article, unchanged, including the "About The Author" box
- all hyperlinks remain active, including the bottom ArticleSet.com link (does not apply to print publications)
- you agree not to hold the authors nor ArticleSet.com liable for any loss profits, expenses, or any other damages resulting from the use or misuse of articles published on this website