Frage von BPTVEu, 27

Sortierung bei readdir?

Hallo. Ich habe folgendes Skript:

$verzeichnis = 'info';
if ( is_dir ( $verzeichnis )) { if ( $handle = opendir($verzeichnis) ) {
    while (($file = readdir($handle)) !== false) {

    echo $file;

    } closedir($handle);}}

Nun Werden allerdings meiner Meinung nach die Dateien in völlig unwillkürlicher Reihenfolge ausgespuckt. Ich weiß, das es eine Reihenfolge geben muss, Ich wüsste nur gerne welche es ist.

Antwort
von webflexer, 18

Setze die Variable $file als Array und in PHP hast du eine Menge Array Sortierfunktionen.

Kommentar von BPTVEu ,

Erstens beantwortet das nicht so ganz meine Frage, und zweitens, was muss ich machen, wenn ich will, das die Dateien Nach Erstelldatum, neuste zuerst, angezeigt werden?

Kommentar von webflexer ,
$dir = "info";
chdir($dir);
array_multisort(array_map('filemtime', ($files = glob("*.*"))), SORT_DESC, $files);
foreach($files as $filename)
{
echo "<p>".substr($filename, 0, -4)."</p>";
}
Kommentar von BPTVEu ,

Und wenn ich dann innerhalb des "foreach" die Datei weiterverarbeiten möchte, muss ich als Variable 

substr($filename, 0, -4)

nehmen, oder?

Kommentar von BPTVEu ,

Genau genommen sagen mir meine PHP Kenntnisse, das ich auch nur 

$filename

nehmen könnte, dann wäre es halt mit Dateiendung.

Kommentar von webflexer ,

Kannst das substr auch weglassen und nimmst nur $filename, genau.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten