Wortzähler als Fortschrittsbalken anzeigen |
Wenn Sie einen Namen eingeben versucht das Modul diesen in einer Datei im aktuellen Verzeichnis zu finden und gibt das Ergebnis aus. |
So sieht´s aus |
Quellcode |
<html> <head> <style type="text/css">Hier nichts</style> </head> <body > <?php $verzeichnis = "./"; $dateiendungen = ["txt", "htm", "php"]; $suche = isset($_POST["text"]) ? $_POST["text"] : ''; $suche = htmlspecialchars($suche); $checked = isset($_POST["matchCase"]) ? ' checked="checked"' : ''; $checked2 = isset($_POST["order"]) ? ' checked="checked"' : ''; $checked3 = isset($_POST["files"]) ? ' checked="checked"' : ''; echo '<form method="post"> <label> Suche: <input type="search" name="text" value="' . $suche . '" size="40" required="required" autofocus="autofocus"></label> <input type="submit" value="los"><br> <label><input type="checkbox" name="matchCase"' . $checked . '> Groß- und Kleinschreibung beachten</label><br> <label><input type="checkbox" name="order"' . $checked2 . '> Sortierreihenfolge ändern</label><br> <label><input type="checkbox" name="files"' . $checked3 . '> Dateien (' . implode(", ", $dateiendungen) . ') öffnen und durchsuchen</label> </form>'; if ($_SERVER["REQUEST_METHOD"] == "POST") { $ergebnis = alle_dateien($verzeichnis, $_POST["text"]); if (isset($_POST["order"])) { rsort($ergebnis); } else { natcasesort($ergebnis); } foreach ($ergebnis as $zaehler => $element) { $element = str_replace('\\', '/', $element); list($link, $datum, $bytes) = explode('|', $element); $datum = date("d.m.Y H:i", $datum); echo ($zaehler+1) . '. <a href="'. $link .'">'. $link .'</a> <small>' . $datum . ' - ' . $bytes . ' Bytes</small><br>'; } } function alle_dateien($dir, $text) { global $dateiendungen; $files = Array(); $file_tmp = glob($dir . '*', GLOB_MARK); foreach ($file_tmp as $item) { if (substr($item,-1) != DIRECTORY_SEPARATOR) { if (isset($_POST["files"]) && is_file($item)) { if (in_array(substr($item, -3), $dateiendungen)) { $text = file_get_contents($item); if (!isset($_POST["matchCase"])) { $text = strtolower($text); } if (substr_count($text, $_POST["text"]) > 0) { $files[] = $item . '|' . filemtime($item) . '|' . filesize($item); } } } else { if (isset($_POST["matchCase"])) { if (strstr($item, $text)) { $files[] = $item . '|' . filemtime($item) . '|' . filesize($item); } } else { if (stristr($item, $text)) { $files[] = $item . '|' . filemtime($item) . '|' . filesize($item); } } } } else { $files = array_merge($files, alle_dateien($item, $text, $_POST)); } } return $files; } ?> </body> </html> |
Kontakt Datenschutz Impressum |