Ordner nach Datum sortieren

SanktFlorian

Grünschnabel
Hallo
ich bräuchte mal bitte Hilfe.

Ich habe ein Script welches einen Ordner auslesen kann.

Ich habe die Dateien (Excel, Word, PDF,) jeweils mit einem Datum (
07-08-2005 26 Internationalen Städtevergleich in Heilbronn ) versehen.

Das Script sortiert mir leider dann die Daten nach dem Tag und nicht der Reihenfolge ( abwärts) ein.

Schreibe ich aber 2005-08-07 wird es richtig sortiert.

Wie stelle ich es am besten an das Tag Monat Jahr in der richtigen Reihenfolge ausgelesen werden.

07.08.2005

Das zweite ist sobald ich einen Punkt benutze wird die Datei nur bis zum Punkt ausgelesen.

Die Seite http://www.mgc-metzingen.de/Internetseite/php/turniere.php

So sieht der PHP Code aus:
PHP:
<?php
	/*sortieren*/
	$meine=array();

	/*ordner öffnen*/
	$ordner=opendir("../turniere");
	/*ordner auslesen*/
	while($datei=readdir($ordner))
	{
	if($datei!="."&&$datei!="..")
	{
	array_push($meine,$datei);
	}
	}
	/*ordner schliessen*/
	closedir($ordner);
	/*arrey sortiert*/
	rsort($meine);

	/* arrey feldweise ausgeben*/

	for($i=0;$i<count($meine);$i++)
	{
      echo "<br>";
		echo "<a href=\"../turniere/$meine[$i]\" target=\"_top\">";
		$file=explode(".", $meine[$i]);
		$meine1=$file[0];
		echo $meine1;
		echo "</a><p>";
	}

   ?>

Vielen Dank im voraus
 
Dases mit rsort() Einfach nach dem ersten Zeichen Sortiert ist ja mal klar.

Ich würde den Filenamen aufsplitten, das Datum formatieren und dann Sortieren ^^

PHP:
<?php 
/*sortieren*/
$meine=array();
$dateSeparator = '.'; // '.' durch '-' ersetzen wenn das Datum per - getrennt ist.

/*ordner öffnen*/
$ordner=opendir("../turniere");
/*ordner auslesen*/
while($datei=readdir($ordner))
{
	if($datei!="."&&$datei!="..")
	{
		$i = strpos($datei, $dateSeparator, 1) + 5; // Get the offset.
		$date = substr($datei, 0, $i); // Get the date out of the filename.
		list($day, $month, $year) = explode($dateSeparator, $date); // Explode the dateparts.
		
		$meine[$year . $month . $day][] = $datei; //Same as arraypush()
	}
}
/*ordner schliessen*/
closedir($ordner);
/*arrey sortiert*/
rsort($meine);

/* array feldweise ausgeben*/

foreach ($meine as $meine1) {
	echo "<br>";
	echo "<a href=\"../turniere/$meine1\" target=\"_top\">";
	echo "</a><p>";
}
?>

War schön mutig. Das habe ich einfach schnell zusammen "gehacked". Ungetestet. Vielleicht gibts noch ein paar kleine Fehler :)

MFG
X
 

Neue Beiträge

Zurück