Я использую ваш точный предложенный код только с несколькими дополнительными строками. Идея более или менее такая же, как предложенная @elias, но в этом решении конфликты на ключах не могут быть такими, поскольку каждый файл в каталоге имеет другое имя файла, и поэтому добавление его к ключу решает конфликты. Первая часть ключа - это строка даты и времени, отформатированная таким образом, что я могу лексикографически сравнить два из них.
if ($handle = opendir('.')) {
$result = array();
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != "..") {
$lastModified = date('F d Y, H:i:s',filemtime($file));
if(strlen($file)-strpos($file,".swf")== 4){
$result [date('Y-m-d H:i:s',filemtime($file)).$file] =
"<tr><td><input type=\"checkbox\" name=\"box[]\"></td><td><a href=\"$file\" target=\"_blank\">$file</a></td><td>$lastModified</td></tr>";
}
}
}
closedir($handle);
krsort($result);
echo implode('', $result);
}
Для отладки целей эти System.Diagnostics.Debug.Writeline()
команда не будет скомпилирована в версию выпуска Вашего кода, если у Вас не будет слушателей отладки. Это пишет во все приемники трассировки, который включает окно вывода VS при выполнении в Режиме отладки.
Для Консольного приложения. Console.Writeline()
работал бы, но вывод будет все еще сгенерирован в версии выпуска Вашего двоичного файла.
вывод Отладки должен также появиться в нормальном окне вывода при отладке тестов; тогда как, console.writeline вывод не делает (но может быть найден в тестовом окне вывода.)