PHP - Den Inhalt aller Textdateien nach einem Suchbegriff durchsuchen
Den Inhalt aller Textdateien nach einem Suchbegriff durchsuchen und gefundene Dateien als Link ausgeben. Durchsucht werden alle Unterverzeichnisse.
<form action="" method="post">
<label>Suche: <input type="search" name="text"></label>
<button type="submit">>></button>
</form>
<?php
/* Den Inhalt aller Textdateien nach einem Suchbegriff
durchsuchen und gefundene Dateien als Link ausgeben.
Durchsucht werden alle Unterverzeichnisse.
*/
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$verzeichnis = "./../"; // Verzeichnis angeben
$erg = alle_dateien($verzeichnis, $_POST["text"]);
foreach ($erg as $zaehler => $element) {
$element = str_replace("\\", '/', $element);
echo ($zaehler + 1) . '. <a href="' . $element . '">' . $element . '</a><br>';
}
}
function alle_dateien($dir, $text) {
$files = [];
$file_tmp = glob($dir . '*', GLOB_MARK | GLOB_NOSORT);
foreach ($file_tmp as $item) {
if (substr($item, -1) != DIRECTORY_SEPARATOR) {
$temp = explode('.', $item);
$type = $temp[count($temp) - 1];
if (in_array($type, array("txt", "htm", "html", "xml", "csv", "php", "js"))) {
$inhalt = file_get_contents($item);
if (stristr($inhalt, $text)) {
$files[] = $item;
}
}
} else {
$files = array_merge($files, alle_dateien($item, $text));
}
}
return $files;
}
?>
Siehe auch: Unterverzeichnisse nach einem Dateinamen durchsuchen, Dateien im Verzeichnis rekursiv auflisten, mit Filter, Suche nach Übereinstimmungen mit regulärem Ausdruck und Suchbegriffe hervorheben
Tipp
Kleine Suchmaschine - Diese Suchmaschine durchsucht das aktuelle Verzeichnis und/oder andere Verzeichnisse. Die Dateiendungen der Dateien die durchsucht werden sollen können angeben werden. Des weiteren ist es möglich ein Vorzeichen bei Dateien die nicht durchsucht werden sollen zu setzen und vieles mehr.
Bausteine Alle Anzeigen
Eine zufällige Auswahl von Codeschnipseln
aus den Bereichen
HTML, CSS,
PHP, JavaScript und
MySQL.
<u> Unterstreichen (Physische Auszeichnung)
CSS - Wasserzeicheneffekt - Hintergrundbild fixieren
PHP - Verzeichnis als eine Auswahlliste mit Anfangsbuchstaben ausgeben