ERLEDIGT
NEIN
NEIN
ANTWORTEN
3
3
ZUGRIFFE
650
650
EMPFEHLEN
-
Ich möchte die Dateien eines Ordners auslesen und als Links ausgeben. Diese Liste soll nach dem Datum sortiert sein. Die Files lauten "dd.mm.yy dateiname.txt". Sortiert werden soll also nach dem im Filenamen enthaltenem Datum. Ich hatte es so versucht:
Führt bisher zu:PHP-Code:$i=0;
$pfad="/";
$verz=opendir ($pfad);
while ($file=readdir($verz))
{$afile[]=$file;}
closedir($verz);
sort($afile);
$anz=count($afile);
for($i=0;$i<$anz;$i++)
{
$utf = utf8_encode($afile[$i]);
$link = rawurlencode($afile[$i]);
echo '<li><a href="';
echo $pfad.$link;
echo '" class="link">';
echo str_replace(".txt", "", $utf);
echo '</a></li>';
}
* 01.11.08 Test.txt
* 11.01.09 Test.txt
* 21.10.08 Test.txt
* 22.10.08 Test.txt
Ist so natürlich nicht richtig. Hat jemand ne Idee wie ich die Files korrekt sortieren lassen kann?
-
Sollte das Leerzeichen, anhand dem ich den Dateinamen auseinander nehme so nicht existieren (ich gehe aber davon aus, da du das so gepostet hast), müsstest du dir mit einem Regulärem Ausdruck weiterhelfen, um obiges zu erreichen.PHP-Code:
$str = array();
$str[] = '01.11.08 Test.txt';
$str[] = '11.01.09 Test.txt';
$str[] = '21.10.08 Test.txt';
$str[] = '22.10.08 Test.txt';
$files = array();
foreach( $str as $key => $var )
{
$tmp = explode( ' ', $var );
$files[] = array( 'date' => strtotime( $tmp[0] ), 'name' => $tmp[1] );
}
asort( $files );
var_dump( $files );
Man kann vielleicht noch was schöneres machen mit filemtime().mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
-
Hey danke Loomes für Deinen entscheidenden Hinweis.
strtotime hat bei mir das Datum nicht umrechnen können - das Ergebnis war immer 1970. Ich habe das Datum dann einfach neu aufgebaut und eine insgesamt funktionierende Lösung zusammengeklebt:
Leider sind meine PHP Kenntnisse minimal. Ich wage also zu bezweifeln das dieser Code schon das non plus ultra ist.PHP-Code:
$i=0;
$pfad="pfad/";
$verz=opendir ($pfad);
while ($file=readdir($verz))
{
if (is_dir($file)||$file=="diesedateinicht.txt")
{}
else
{$afile[]=$file;}
}
closedir($verz);
$files = array();
foreach( $afile as $key => $var )
{
$tmp = explode( ' ', $var );
$date = explode ('.', $tmp[0]);
$datum = date("Y/m/d",mktime(0,0,0,$date[1],$date[0],$date[2]));
$files[] = array( 'date' => strtotime($datum), 'name' => str_replace($tmp[0]." ","", $var) );
}
asort( $files );
$anz=count($files);
for($i=0;$i<$anz;$i++)
{
$datei = $files[$i];
$link = rawurlencode(strftime("%d.%m.%Y ",$datei['date']).$datei['name']);
echo '<li><a href="';
echo $pfad.$link;
echo '" class="link">';
echo strftime("%d.%m.%Y ", $datei['date']);
echo $datei['name'];
echo '</a></li>';
}
-
Hi,
es gibt eigendlich immer etwas zu verbessern.
So schlecht sieht dein Code doch garnicht aus, da haben wir hier schon schlimmeres gesehen.
/e: Den leeren if-Block in der ersten while-Schleife könntest du beispielsweise überdenken.mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
Ähnliche Themen
-
MYSQL KAlender nach Datum gruppieren, nach Uhrzeit sortieren
Von kamstarr im Forum Relationale DatenbanksystemeAntworten: 7Letzter Beitrag: 09.01.10, 01:12 -
Sortieren nach Datum und nach jetztiger Zeit
Von ciberjoerg im Forum PHPAntworten: 1Letzter Beitrag: 21.09.09, 08:23 -
JFileChooser Dateien nach Datum sortieren
Von Florian Strienz im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 03.09.09, 21:39 -
Auslesen von Dateien nach Datum sortieren, per GET und auflisten begrenzen (limit)
Von jatop im Forum PHPAntworten: 0Letzter Beitrag: 08.12.07, 19:07 -
Dateien nach Datum sortieren
Von Caruso_Nix im Forum JavaAntworten: 4Letzter Beitrag: 22.11.04, 14:38





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren