Php: Verzeichnis mit Datum, Zeit und sortiert auflisten
Hallo,
bin seit einigen Tagen dabei oben genannte Lösung zu suchen. Eine Auflistung gelingt mir, allerdings bekomme ich es einfach nicht hin, zur jeweiligen Datei auch den Zeitstempel anzeigen zu lassen. Ich habe einzelne Anzeigeblöcke, hier im vorderen Dateinamen "123*", d.h., die Datei sollen nach ihrem Dateinamen, NICHT nach dem Erstellungsdatum sortiert sein!
Btw: Klasse wäre, wenn ich eine Nummerierung der Datein ein- und ausschalten könnte ... also, wüsste, was ich einbauen müsste!
Wäre über einen Tipp dankbar
Gruß
okidoki
bin seit einigen Tagen dabei oben genannte Lösung zu suchen. Eine Auflistung gelingt mir, allerdings bekomme ich es einfach nicht hin, zur jeweiligen Datei auch den Zeitstempel anzeigen zu lassen. Ich habe einzelne Anzeigeblöcke, hier im vorderen Dateinamen "123*", d.h., die Datei sollen nach ihrem Dateinamen, NICHT nach dem Erstellungsdatum sortiert sein!
Btw: Klasse wäre, wenn ich eine Nummerierung der Datein ein- und ausschalten könnte ... also, wüsste, was ich einbauen müsste!
<?php
foreach (glob("123*.php") as $filename) {
echo "<a href=\"$filename\" target=\"_blank\">$filename</a><br>\n";
}
?>
Wäre über einen Tipp dankbar
Gruß
okidoki
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 665508
Url: https://administrator.de/contentid/665508
Ausgedruckt am: 19.11.2024 um 17:11 Uhr
17 Kommentare
Neuester Kommentar
$files = glob('123*.php');
asort($files);
$cnt = 1;
foreach($files as $file){
echo "$cnt|$file|" . date('Y-m-d H:i:s',filemtime($file)) . "<br />";
$cnt++;
}
bin seit einigen Tagen dabei oben genannte Lösung zu suchen
Autsch. Wieso noch suchen?! Selbst ist die/der Frau/Mann ! Alles was du dafür brauchst steht hier, man müsste es einfach nur mal lesen!Gruß w.
Hallo,
findet man auch auf der schon angegebenen Seite.
https://www.php.net/manual/de/function.str-pad.php
findet man auch auf der schon angegebenen Seite.
https://www.php.net/manual/de/function.str-pad.php
Naja PHP ist eigentlich wirklich gut dokumentiert mit sehr vielen Beispielen und wirklich anfängerfreundlich. Dein Wunsch steht sogar fast 1 zu 1 nur eben mit 4 Stellen relativ weit unten im Kommentarbereich
Wenn du dir mal c++ oder son nen Spaß ansieht wirst du das schnell feststellen.
Bei Zeile 7 beim "echo" anstelle von $cnt kommt der spaß
str_pad($cnt,2,'0',STR_PAD_LEFT)
Somit füllst du auf 2 Stellen mit dem Wert 0 auf der Linken Seite des Strings auf.
Wenn du dir mal c++ oder son nen Spaß ansieht wirst du das schnell feststellen.
Bei Zeile 7 beim "echo" anstelle von $cnt kommt der spaß
str_pad($cnt,2,'0',STR_PAD_LEFT)
Somit füllst du auf 2 Stellen mit dem Wert 0 auf der Linken Seite des Strings auf.
Schau dir mal das an
https://stackoverflow.com/questions/2408614/file-doesnt-open-using-php-f ...
https://stackoverflow.com/questions/2408614/file-doesnt-open-using-php-f ...
Zitat von @OKIDOKI:
yep, readfile wars ...
oben geändert, nur, warum steht der Inhalt jetzt am Anfang vor der Aufzählung?
Falsche Funktion genommen, readfile ist für die alleinige Auslieferung von Dateien an den Client, nicht zum Auslesen und gleichzeitigen Verarbeiten des Inhalts, dafür gibt's file_get_contentsyep, readfile wars ...
oben geändert, nur, warum steht der Inhalt jetzt am Anfang vor der Aufzählung?
Körner hin werf'
Isch bin dann wech ...
Wenn diese Funktion zum Verarbeiten ist, wäre es doch möglich, die Ausgabe in einer bestimmten Farbe zu erzeugen, oder?
Alles möglich.1. Mein Vorhaben listet die Ergebnisse von Schulaufgaben verschiedener Klassen auf. In den ausgelesenen Dateien steht nur "vollständig" bzw. "unvollständig". Nun würde ich gerne unvollständig in rot und vollständig in grün ausgeben.
Ich hatte mich gerade mit Highlighting beschäftigt, wobei ich glaube, dass es eine Nummer zu groß ist ... und vermutlich mit php einfacher geht, wenn es gleich um das Auslesen und Verarbeiten der Variable geht.
Es bleiben also Fragen
Ah ja never ending Thread mal wieder ...Ich hatte mich gerade mit Highlighting beschäftigt, wobei ich glaube, dass es eine Nummer zu groß ist ... und vermutlich mit php einfacher geht, wenn es gleich um das Auslesen und Verarbeiten der Variable geht.
Es bleiben also Fragen
<?php
$files = glob('123*.php');
asort($files);
$cnt = 1;
$tbl = '<table class="mytable"><tbody><tr><th>No.</th><th>Name</th><th>Datum/Zeit</th></tr>';
foreach($files as $file){
$content = file_get_contents($file);
$class = preg_match('/^vollständig/im',$content) ? 'complete' : 'incomplete';
$tbl .= "<tr class=\"" . $class . "\"><td>" . $cnt . "</td><td>" . $file . "</td><td>" . date('Y-m-d H:i:s',filemtime($file)) . "</td></tr>";
$cnt++;
}
$tbl .= '</tbody></table>';
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Demo</title>
</head>
<style>
body {font-family:sans-serif; font-size:0.9em;}
.mytable {border-collapse:collapse}
.mytable th {background-color:rgba(238,238,238,1); padding:5px}
.mytable td {
border: 0px;
padding: 5px;
text-align:right;
}
.complete {background-color:rgba(102,255,102,1);}
.incomplete {background-color:rgba(255,102,51,1);}
</style>
<body>
<?php echo $tbl;?>
</body>
</html>
Ich weiß, es soll kein never ... werden!
Hat schon angefangen ...Autsch ...
echo "<li><a href=\"$file\">$cnt|$file|" . date('Y-m-d H:i:s',filemtime($file)) . "</a></li>";
thread notification for my side = off
w.