2016-07-21 7 views
0

Hallo Ich vermute, ich bin dumm, aber ich bin neu in PHP-Codierung. Alles, was ich tun möchte, ist, meine Ergebnisse aus diesem Skript in absteigender Reihenfolge zu sortieren, aber ich weiß nicht, welcher Code hinzugefügt werden soll und wo er hinzugefügt werden soll. Bitte kannst du mir dabei helfen.Kann nicht die Ergebnisse dieses PHP-Skript absteigend sortieren

<?php 
$d = dir("01-Newsletters"); 
while (false != ($entry = $d->read())) { 
if ($entry != "." && $entry != "..") { 
echo "<tr><td>{$entry}</td><td><a href='01-Newsletters/{$entry}' target=_blank><img  src='../../Site_data/Images/more.gif'/></a></td></tr>";} 
} 
$d->close(); 
?> 

Derzeit ist es gibt dieses Ergebnis

Previous Newsletters 2014-04-Newsletter.pdf 

2014-07-Newsletter.pdf 

2014-10-Newsletter.pdf 

2015-01-Newsletter.pdf 

2015-04-Newsletter.pdf 

2015-08-Newsletter.pdf 
+1

Sie werden zunächst müssen jeden Eintrag in einem Array speichern und dann dieses Array sortieren etwas mit wie 'usort ($ Einträge, function ($ a, $ b) {return $ a <$ b;} ' – Cyclonecode

Antwort

0

können Sie die folgende Lösung verwenden:

<?php 
$d = dir("01-Newsletters"); 
$entries = []; 

while (false != ($entry = $d->read())) { 
    if ($entry != "." && $entry != "..") { 
     $entries[] = $entry; 
    } 
} 
$d->close(); 

//order the entries... 
sort($entries, SORT_STRING); 
$entries = array_reverse($entries); 

//output the $entries in DESC order... 
for ($i = 0; $i < count($entries); $i++) { 
    echo "<tr><td>{$entries[$i]}</td><td><a href='01-Newsletters/{$entries[$i]}' target=_blank><img src='../../Site_data/Images/more.gif'/></a></td></tr>"; 
} 
?> 
+0

Vielen Dank diese Arbeit perfekt :) – dgpage2

0

wenn der Ordnername 2015-8 ist, ich nehme an, es an diesem erzeugt wird Tag. Auf der Grundlage dieser Annahme können Sie den folgenden Ansatz verwenden. Erhalten Sie Dateien geändert Zeit speichern es in einem Array und sortiert dann das Array

$dir = "jays"; 
$d = dir($dir); 
while (false != ($entry = $d->read())) 
{ 
    if ($entry != "." && $entry != "..") 
    { 
     $files[$entry] = filemtime($dir.'/' . $entry); 
    } 
} 
arsort($files); 
print_r($files); 
$d->close(); 
Verwandte Themen