Ich habe hier ein kleines suchskript
Dieser Code durchsucht die Dateien nach den im suchfeld eingegeben Texten ab. Beispiel:
Eingegeben: Hallo
Dateiname: was
Inhalt: Hallo wie geht es dir
Datei *was* wird angezeigt. Jetzt möchte ich aber das es nur nach Dateinamen geht. Beispiel:
Eingegeben: Hallo
Dateiname: Hallo wie geht es dir
Inhalt: blabla
Datei *Hallo wie geht es dir* wird angezeigt. Was muss ich da an dem Code umändern?
Danke schonmal
Mit freundlichen Grüßen
Catchthebird
Verschoben aus dem Off-Topic nach Weitere Programmiersprachen von Chrisber.
PHP-Quellcode
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>zingoo</title> <p><center> <img src="faustoo.jpg" alt="faustoo"></center></p> <style> html { background: with; } .suchform { width: 400px; margin: auto;
- } .suchform input { float: left; }
- .suchergebnis { clear:both; margin: auto; width: 400px; margin: auto;
- } .suchform input.big { width: 250px; } a.nav{ padding: 3px 10px; } span.nav{ padding: 3px 10px; font-weight: bold; } </style> </head></head><body>
- <?php
- $suchbegriff = '';
- if(isset($_POST['suchbegriff'])){ $suchbegriff = $_POST['suchbegriff'];}else if (isset($_GET['su'])){ $suchbegriff = $_GET['su'];}?>
- <div class="suchform"><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"><input class="big" type="text" name="suchbegriff" value="<?php echo $suchbegriff; ?>" ><input type="submit" value="suchen" ></form></div><div class="suchergebnis"><?php
- if($suchbegriff>''){ if(isset($_GET['seite'])){ $seite = $_GET['seite'];}else{ $seite = 1;} $gefunden = array();
- $aktuelle_nummer = 0;
- $nicht_durchsuchen = array(); // Hier jetzt die Dateien definieren $nicht_durchsuchen[] = 'bild.html';$nicht_durchsuchen[] = 'index.html'; // die er nicht durchsuchen soll // je Datei ein Eintrag
- // zuerst mal Durchsuchen und dem array zusortieren
- foreach (glob("*.html") as $dateiname) {
- if(in_array($dateiname, $nicht_durchsuchen)) continue; // Wenn die Datei im angebenen array nicht_durchsuchen ist, // zur nchsten Datei gehen $text = file_get_contents($dateiname); if (stristr($text, $suchbegriff)) { $dateiname_ohne_html = str_replace('.html', '',$dateiname); $gefunden[$aktuelle_nummer] = '<a href="'.$dateiname.'">'.$dateiname_ohne_html.'</a><br />'; $lines = file($dateiname); // Wenn es eine 2. Zeile in dieser Datei gibt, dann den Inhalt dranhngen if(isset($lines[2])) { $gefunden[$aktuelle_nummer] .= htmlentities($lines[2]) ;
- } // Wenn es eine 3. Zeile in dieser Datei gibt, dann den Inhalt dranhngen if(isset($lines[3])){ $gefunden[$aktuelle_nummer] .= htmlentities($lines[3]); } if(isset($lines[4])){ $gefunden[$aktuelle_nummer] .= $lines[4] ; } if(isset($lines[5])){ $gefunden[$aktuelle_nummer] .= $lines[5] ; } $aktuelle_nummer++;
- } }
- $anzahl_pro_seite = 10; $start = ($seite - 1) * $anzahl_pro_seite; $ende = $seite * $anzahl_pro_seite; $anzahl_treffer = count($gefunden); echo '<p>'.$anzahl_treffer.' Ergebnisse gefunden</p>'; if($anzahl_treffer < $ende) $ende = $anzahl_treffer; for ($i = $start; $i < $ende; $i++) { echo $gefunden[$i]. "<br /> <br />" ; } $anzahl_seiten = ceil($anzahl_treffer/$anzahl_pro_seite); if($anzahl_seiten>1) { for($j=1;$j < $anzahl_seiten+1; $j++) { if($j == $seite) { echo ' <span class="nav">'.$j.'</span> '; } else { echo ' <a class="nav" href="'.$_SERVER['PHP_SELF'].'?su='.$suchbegriff.'&seite='.$j.' ">'.$j.'</a> '; } } } }?><html><p><small><b>zingoo</b> powered by <a href="/" target="_blank">www.zingoo.lima-city.de</a></small></p><a href="AGB.txt"><small>AGB</small></a></html></br>
Dieser Code durchsucht die Dateien nach den im suchfeld eingegeben Texten ab. Beispiel:
Eingegeben: Hallo
Dateiname: was
Inhalt: Hallo wie geht es dir
Datei *was* wird angezeigt. Jetzt möchte ich aber das es nur nach Dateinamen geht. Beispiel:
Eingegeben: Hallo
Dateiname: Hallo wie geht es dir
Inhalt: blabla
Datei *Hallo wie geht es dir* wird angezeigt. Was muss ich da an dem Code umändern?
Danke schonmal
Mit freundlichen Grüßen
Catchthebird
Verschoben aus dem Off-Topic nach Weitere Programmiersprachen von Chrisber.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Chrisber“ ()