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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | <form action="" method="post">
<label>Suche: <input type="text" name="text"></label>
<input type="submit" value=">>">
</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
$verzeichnis = "./../"; // Verzeichnis angeben
$erg = alle_dateien($verzeichnis, $_POST["text"]);
foreach ($erg as $zaehler => $element) {
//$element = str_replace('\', '/', $element);
$element = str_replace("\\", '/', $element);
echo ($zaehler+1) . '. <a href="'. $element .'">'. $element .'</a><br>';
}
}
function alle_dateien($dir, $text) {
$files = Array();
$file_tmp = glob($dir . '*', GLOB_MARK | GLOB_NOSORT);
foreach ($file_tmp as $item) {
if (substr($item,-1) != DIRECTORY_SEPARATOR) {
/*/
$type = substr($item, -3); // Originalausfuehrung
/*/
$temp = explode('.', $item);
$type = $temp[count($temp) - 1];
/**/
// if (in_array($type, array("txt", "htm", "html", "xml", "csv", "php"))) { // geht in der Originalausfuehrung nicht fuer 'html'
// if (in_array($type, array("txt", "htm", "tml", "xml", "csv", "php", ".js"))) { // geht in der Originalausfuehrung
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;
}
?> |