diedVIPs

html knowhow

Wortzähler als Fortschrittsbalken anzeigen










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