Suchmaschine - Website X5 Hilfe - Die Helpsite

Website hundertprozent CO2 neutral mit Host Europe
Direkt zum Seiteninhalt

Hauptmenü

Suchmaschine

Scripte > Tools


Ein kleines Suchmaschinen-Script.

JavaScript

Diese Suchmaschine durchsucht das aktuelle Verzeichnis und/oder andere Verzeichnisse.
- Gefundene Suchbegriffe werden farblich hervorgehoben.
- Angabe der Verzeichnisse die durchsucht werden sollen.
- Die Dateiendungen der Dateien die gefunden werden sollen können eingetragen werden.
- Ein Vorzeichen bei Dateien definieren die nicht durchsucht werden sollen.
- Es können auch einzelne Dateien von der Suche ausgeschlossen werden.
- Angabe der Mindestlänge eines Suchbegriffs.
- Die Länge des angezeigten Textausschnitts kann angepasst werden.
- Anzeige des Dateinamens (oder HTML-Title-Tag wenn vorhanden), Suchtreffer,
- Dateipfad, Dateigröße und letzte Aktualisierung der gefundenen Datei.
- Suche nach Dateinamen und/oder Dateiendung (hilfreich für den Webmaster!)
- Anzahl der durchsuchten Verzeichnisse und Dateien anzeigen (Optional).
- Unerwünschte Sucheingaben von der Suche ausschließen.
- Maximale Anzeige (Begrenzung) der Suchergebnisse.
- Suchbegriffe können in einer Datei gespeichert werden (Optional).
- Automatische Weiterleitung wenn nur eine Datei gefunden wurde (Optional).
- Es werden auch Wörter gefunden die in der durchsuchten Datei durch Zeilenumbrüche, Leerzeichen oder Tabulatoren getrennt sind.
- Suche nach Bildern, PDF-Dateien, MP3-Dateien, Zip-Archive, … (Dateiname)

Zum Testen, bitte den Begriff "demo" in das Suchfeld eingeben.
Somit erhält man eine bessere Präsentation der Ergebnisse.


Button Download Script


Code für den CSS-Bereich:


acronym { /* Suchbegriff hervorheben */
background-color: #D5FFAA;
}

var
{ /* Datei-Info */
color: #00AF00;
font-size: 11px;
}



Code für das HTML-Objekt:

<?php
/*  Verzeichnisse die durchsucht werden sollen. Aktuelles Verzeichnis mit "./"  */
$verzeichnisse = array(
"verzeichnis1/",
"verzeichnis2/",
"verzeichnis3/",
);

/* Dateiendungen der Dateien die gefunden werden sollen */
$dateiendungen = array(
".gif",
".htm",
".html",
".jpg",
".mp3",
".pdf",
".php",
".png",
".txt",
".zip",
);

/* Dateiendungen der Dateien die von der oberen Liste "keine" Textdateien sind, es wird nur der Dateiname angezeigt */
$_dateiendungen = array(
".gif",
".jpg",
".mp3",
".pdf",
".png",
".zip",
);

/* Vorzeichen bei Dateien die nicht durchsucht werden sollen z.B.: _intern.htm, _log.php, _data.txt */
$vorzeichen = "_";

/* Einzelne Dateien die nicht durchsucht werden sollen */
$nicht_durchsuchen = array(
"tl_suchmaschine.php",
"login.html",
);

/* Länge des Suchbegriffs (mindestens 3 Zeichen) */
$suchbegriff_min = 3;

/* Anzahl der durchsuchten Verzeichnisse und Dateien anzeigen (ja/nein) */
$anzahl_dateien = "ja";

/* Maximale Anzeige (Begrenzung) der Suchergebnisse */
$suchergebnisse_max = 25;

/* Sucheingaben speichern (ja/nein) */
$speichern = "nein";

/* Name der Datei in der die Sucheingaben gespeichert werden */
$suchdatei = "suchbegriffe.txt"; // Benötigt Schreibrechte!

/* Automatische Weiterleitung wenn nur eine Datei gefunden wird (ja/nein) */
$autolink = "nein";

/* Unerwünschte Sucheingaben von der Suche ausschließen */
$ausschluss = array(
"Demotext",
"Demotext2",
);

/* Länge des angezeigten Textausschnitts */
$textausschnitt = 50;

/* URL (Optional) Bsp.: www.url.tld/ */
$url = "";

/* Ab hier nichts mehr ändern, oder Du weißt was Du tust */
echo '<form method="post" action="' . $_SERVER["SCRIPT_NAME"] . '">
<input type="text" name="suchbegriff" value="' .
(isset($_POST["suchbegriff"]) ? $_POST["suchbegriff"] : '') .
'" size="35" maxlength="40" required="required">
<input type="submit" name="suche" value="suchen">
</form>
';

$gefunden = $dateinr = 0; $ausgabe = $link = "";
$startzeit = microtime(true);

if (isset($_POST["suche"]) || isset($_POST["suchbegriff"])) {
$_POST["suchbegriff"] = (function_exists('str_ireplace') ? str_ireplace($ausschluss, "", $_POST["suchbegriff"]) : str_replace($ausschluss, "", $_POST["suchbegriff"]));
if (strlen(trim($_POST["suchbegriff"])) >= $suchbegriff_min) {
 foreach ($verzeichnisse as $verzeichnis) {
  foreach ($dateiendungen as $dateiendung) {
   foreach (glob($verzeichnis . "*" . $dateiendung) as $datei) {
    $dateiname = basename($datei);
    if ($dateiname[0] != $vorzeichen && !in_array($dateiname, $nicht_durchsuchen)) {
     $text = (!in_array($dateiendung, $_dateiendungen)) ? file_get_contents($datei) : substr(strtoupper($dateiendung), 1) . '-Datei';
     preg_match("/<title>(.*?)</i", $text, $t);
     $titel = isset($t[1]) ? $t[1] : $dateiname;
     unset($t[1]); $dateinr++;
     $text = strtr(strip_tags($text), array("
&auml;"=>"ä", "&ouml;"=>"ö", "&uuml;"=>"ü", "&Auml;"=>"Ä", "&Ouml;"=>"Ö", "&Uuml;"=>"Ü", " &szlig;"=>"ß", "\r" =>" ", "\n" =>" ", "\t" =>" ", "  " =>" "));
     $_POST["suchbegriff"] = trim($_POST["suchbegriff"]);
     if ((strstr($text, $_POST["suchbegriff"]) or stristr($text, $_POST["suchbegriff"]) or stristr($dateiname, $_POST["suchbegriff"])) && $gefunden <= $suchergebnisse_max) {
      $gefunden++; $link = $datei;
      $textteil = substr($text, (strpos($text, $_POST["suchbegriff"]) - $textausschnitt), (strlen($_POST["suchbegriff"]) + ($textausschnitt * 2)));
      $ausgabe .= '<p>' . $gefunden . '. <a href="' . $datei . '">' . $titel . '</a> <small>(' . substr_count(strtolower($text), strtolower($_POST["suchbegriff"])) . 'x)</small><br>
&hellip;  ' .
       preg_replace('/(' . $_POST["suchbegriff"] . ')/i', '<acronym>$1</acronym>', (strlen($textteil) < $textausschnitt ? substr($text, strpos($text, $_POST["suchbegriff"]), $textausschnitt) : $textteil)) .
       '
&hellip;<br><var>Stand: ' . date("d.m.y h:i", filemtime($datei)) . ' - ' . number_format((filesize($datei) / 1024), 2, ",", ".") . ' kb - ' . $url . $datei . '</var></p>';
     }
    }
   }
  }
 }
 if ($gefunden == 0) {
  echo '<p>Es wurden keine Übereinstimmungen mit dem eingegebenen Suchbegriff gefunden.</p>';
 }
 else {
  if ($autolink == "ja" && $gefunden == 1) {
   echo '<script type="text/javascript">location.href="' . $link . '";</script>';
  }
  echo '<p>Es ' . ($gefunden == 1 ? 'wurde '. $gefunden . ' Datei' : 'wurden ' . $gefunden . ' Dateien') . ' gefunden:</p>' . $ausgabe;
 }
 if ($anzahl_dateien == "ja") {
  printf('<p>Durchsuchte Verzeichnisse: ' . count($verzeichnisse) . ' - Dateien: ' . $dateinr . ' (in %.2f Sekunden)</p>', microtime(true) - $startzeit);
 }
 if ($speichern == "ja") {
  $fp = fopen($suchdatei, "a+");
  fputs($fp, date("d.m.y h:i") . '|' . $_POST["suchbegriff"] .  '|' . $gefunden . "\n");
  fclose($fp);
 }
}
else {
 echo '<p>Es sind mindestens ' . $suchbegriff_min . ' Zeichen nötig!</p>';
}
}
?>

Bitte beachten, dass die ausführbare Datei, die Dateiendung .php aufweisen muss.

 
Feedbacks zu ""

es gibt insgesamt 2 Kommentar(e)


  1. Mario 2 :-) http://unofficialwsx5.de schreibt am 18.04.2012, 00.36 Uhr

    Hab ihm schon geantwortet...

  2. Lothar Fricke http://www.lotharfricke.de/ham/index.html schreibt am 17.04.2012, 12.38 Uhr

    Hallo Herr Zemke, ich würde gern Ihre Suchmaschine auf einer neu erstellten Website mit Website X5 hinterlegen. Leider habe ich erhebliche Probleme diese einzurichten. Vielleicht könnten Sie freundlicherweise einmal auf den u. a. Link dort dann die Suchmaschine klicken. Könnten Sie mir helfen? Viele Grüße Lothar Fricke


Name*
Vorname
Kommentar*
Email *
Homepage
Telefon
Sicherheitscode *
 
 

© 2009 - 2012

Suche



  Besucher Statistik
 » 5 Online
 » 62 Heute
 » 608 Woche
 » 1691 Monat
 » 12263 Jahr
 » 26365 Gesamt
Rekord: 273 (24.04.2012)
Newsletter
Zurück zum Seiteninhalt | Zurück zum Hauptmenü