Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie listy plików, według daty ostatniej modyfikacji
nexis
post
Post #1





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

Ostrzeżenie: (0%)
-----


Witam,

mam kod, który sprawdza zawartość katalogu news w poszukiwaniu plików tekstowych o rozszerzeniu *.txt. Korzystam z funkcji scandir" title="Zobacz w manualu php" target="_manual do pobrania listy plików do tablicy, a następnie wyłapuje pliki *.txt sprawdzając ostatnie 3 znaki pliku. W wyniku tego otrzymuję listę plików w alfabetycznym porządku i wyświetlam ich nazwę oraz treść. Jak jednak posortować te pliki (czyli dane z tabeli) według daty ostatniej modyfikacji pliku?

Zdaje się, że przyda się do tego funkcja usort" title="Zobacz w manualu php" target="_manual, ale nie wiem jak z niej skorzystać. Proszę o pomoc.

  1. <?php
  2. if (PHP_VERSION >= '5') {
  3. $dir  = 'news/';
  4. $files  = scandir($dir);
  5. echo '<table border="1"><tr>';
  6. foreach ($files as $file) {
  7. $type = substr($file, -3, 3);
  8. if ($type == 'txt') {
  9. echo '<td><b>'.$file.'</b><br /><br />'.file_get_contents($dir.$file).'</td>';
  10. }
  11. }
  12. echo '</tr></table>';
  13. } else {
  14. echo 'Obecna wersja silnika php: '.PHP_VERSION.' jest zbyt niska dla wykonania tego kodu!';
  15. }
  16. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
chomiczek
post
Post #2





Grupa: Zarejestrowani
Postów: 271
Pomógł: 4
Dołączył: 5.01.2005

Ostrzeżenie: (0%)
-----


Trochę tutaj za dużo kodu.. przecież jest funkcja GLOB" title="Zobacz w manualu php" target="_manual, a za jej pomocą można zrobic cos takiego:
  1. <?php
  2. $zawartosc = array();
  3. foreach (glob("*.php") as $filename) {
  4.  $zawartosc[$filename] = filesize($filename);
  5. }
  6. array_multisort ($zawartosc, SORT_NUMERIC);
  7. foreach ($zawartosc as $nazwa=>$rozmiar) {
  8. echo $nazwa.' - '.$rozmiar.'<br/>';
  9. }
  10. ?>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 19:03