Nach Datum sortieren...???
Klaus
- php
Hi, hab mal ne Frage... Hab so ein Script das alle Bilder, die in einem Ordner sind, anzeigt. Nun möchte ich dass die nachDatum sortiert werden. Geht das überhaupt? Hab mal nachgelesen aber von Datum wurd da nichts geschrieben... :-(
Zur Zeit ist der Befehl asort($Files);
Achso und wenn mir jemand noch helfen möchte :-)
Es werden immer 4 Bilder pro Reihe angezeigt. Wenn aber zum Beispiel nur 3 Bilder da sind oder nur 6 oder 7 ... Dann werden die restlichen die in dieser Reihe noch fehlen einfach angezeigt wie wenn der link falsch wäre...
Hier mal die Datei....
<head>
<title>Bilder</title>
<style>
a {
text-decoration: none;
font-size: 10pt;
font-family: Verdana;
font-weight: bold;
color: white;
}
</style>
</head>
<body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
<br>
<?php
$leer = ' ';
$dp = opendir ('.');
if ($dp) {
$files = Array ();
while (false !== ($file = readdir ($dp))) {
$ext = explode ('.', strtolower ($file));
$ext = $ext[count ($ext) -1];
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'bmp') {
$files[] = $file;
}
}
closedir($dp);
}
asort($files);
reset ($files);
echo '<table border="0" bordercolor="#FFFFFF">';
$rows = count ($files) / 4;
$count = 0;
for ($row=0; $row<$rows; $row++) {
echo '<tr>';
for ($col=0; $col<4; $col++)
{
echo ' <td><a href= "'.$files[$count].'" target="_blank"> <img height=150 src="'.$files[$count].'" border=1 > '.$leer.' <p> '.ucfirst(substr($files[$count],0,-4)).'</div> <p> </a> </td>';
$count++;
}
echo '</tr>';
}
echo '</table>'
?>
</body>
Hallo.
Geht das überhaupt? Hab mal nachgelesen aber von Datum wurd da nichts geschrieben... :-(
Ja, das geht. Du müsstest über filetime() das Datum der Datei abfragen (http://www.php.net/manual/de/function.filemtime.php) und vermutlich in einem zweidimensionalen Array zusammen mit den Dateinamen speichern. Diese lässt sich dann (mit ein paar Trick, wenn ich nicht irre) sortieren.
for ($col=0; $col<4; $col++)
{
echo ' <td><a href= "'.$files[$count].'" target="_blank"> <img height=150 src="'.$files[$count].'" border=1 > '.$leer.' <p> '.ucfirst(substr($files[$count],0,-4)).'</div> <p> </a> </td>';
$count++;
}
"wie wenn der link falsch wäre"? Der Link und Pfad zum Bild sind dann falsch. Deine Schleife läuft wie gewünscht viermal durch und count wird jedesmal hochgezählt. D.h. $files[$count] läuft über das Arrayende hinaus. Du müsstest innerhalb der Schleife noch Abfragen, ob $files[$count] nicht leer ist (und ggf. eine leere Tabellenzelle ausgeben).
Grüße aus Würzburg
Julian
Hallo.
Geht das überhaupt? Hab mal nachgelesen aber von Datum wurd da nichts geschrieben... :-(
Ja, das geht. Du müsstest über filetime() das Datum der Datei abfragen (http://www.php.net/manual/de/function.filemtime.php) und vermutlich in einem zweidimensionalen Array zusammen mit den Dateinamen speichern. Diese lässt sich dann (mit ein paar Trick, wenn ich nicht irre) sortieren.
Mhh kaann mir dazu vielleicht jemand den Quelltext geben den ich eifügen muss?? bidde :-) Ich bekomm das nicht hin :-(
Thx...
"wie wenn der link falsch wäre"? Der Link und Pfad zum Bild sind dann falsch. Deine Schleife läuft wie gewünscht viermal durch und count wird jedesmal hochgezählt. D.h. $files[$count] läuft über das Arrayende hinaus. Du müsstest innerhalb der Schleife noch Abfragen, ob $files[$count] nicht leer ist (und ggf. eine leere Tabellenzelle ausgeben).
Ok; danke. werd das malversuche... Hoffe mal as ich das hinbekomme :p Ich kann kaum php. Bin gerad erst am lernen...
Bis dann Klaus
Hab jetzt alles :D
Hab noch ein paar scripte rausgesucht wo die funktion ist und hab das dann übernommen.... :p
Klaus