Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyświetlanie zawartości plików
Forum PHP.pl > Forum > Przedszkole
tofik1778983
Witam.
mam sobie folder z plikami *.txt i chciałbym wyświetlić sobie ich zawartość, ale w taki sposób aby pliki utwożone najwcześniej były wyświetlone na początku listy.
Trzeba sprawdzić date utwozenia.. to wszystko wiem.. ale jak zrobić to sortowanie??
Może jest do tego jakaś gotowa funkcja??
Quantum
  1.  
  2. $txt_files = glob('./folder/*.txt');
  3.  
  4. (
  5. array_map('filemtime', $txt_files),
  6. SORT_NUMERIC,
  7. SORT_ASC,
  8. $txt_files
  9. );
  10.  


teraz w $txt_files masz posortowaną tablicę (flaga SORT_ASC - od najwcześniejszej do najpóźniejszej daty modifikacji, SORT_DESC - na odwrót)
tofik1778983
Ok dzięki
Miałem robić tą funkcją ale nie chciałem przerabiać tego co już mam, ale i tak w miarę pisania okazało się ze będzie trzeba ;]
Już zaczynałem pisać coś w stylu sortowania bombelkowego .. ale i tak nie wyszło z moim kodem.

Witam ponownie.
Nie będę tworzył kolejnego wątku bo pytanie podobne..
Jak zmodyfikować taki kod aby dołączyć do niego sortowanie alfabetyczne..
przykładowa nazwa pliku wygląda tak: 'jakaś nazwa.ddmmrrrggmmss.txt'

  1. $dir=opendir($folder);
  2. while($nazwa=readdir($dir))
  3. {
  4.  
  5. if(($nazwa==".") or ($nazwa=="..")) {print"";}
  6. else{
  7.  
  8. $wpisana_nazwa_pliku=explode(".",$nazwa); // odcinam sama nazwe bez daty i rozszerzenia
  9. $data2=filemtime($folder.'/'.$nazwa);
  10.  
  11. $plikc=fopen($folder.'/'.$nazwa, r);
  12. $czytaj=fgets($plikc);
  13. $text=explode("|:|:|", $czytaj);
  14.  
  15. echo '. <span class=st1><a href="'. $text[1] .'" target="blank">'. $wpisana_nazwa_pliku[0] .'</span></a> <br>';
  16. if($text[2]==''){ echo '';}
  17. else{
  18. echo '<span class="st4">Opis: '. $text[2].'</span><br>';
  19. }
  20. echo '<span class="st2">dodał/a:<b><span class="st3"> '.$text[0] .'</span> </b> '. $text[3] .'</span><br>';
  21. //echo 'link: '.$text[1] ; // dodany link
  22. //echo '<hr class="hr1">';
  23.  
  24. }
  25. }
  26. closedir($dir);


Próbowałem tak ale teraz nie działa mi funkcja explode()
  1. $ile_plikow=0;
  2. $dirArray = array();
  3. $dir=opendir($folder);
  4. while($file = readdir($dir)){
  5. if ($file === '.' || $file === '.') continue;
  6. $dirArray[] = $file; //przypisujemy do kolejnego elementu tablicy nazwę pliku
  7. $ile_plikow++;
  8. }
  9. closedir($dir);
  10. sort($dirArray);
  11.  
  12. //echo implode("\n",$dirArray); //zamiast \n można wstawić np. <br>
  13.  
  14.  
  15. for($i=0;$i<$ile_plikow;$i++)
  16. {
  17.  
  18. $wpisana_nazwa_pliku=explode(".", $dirArray[$i]); // odcinam sama nazwe bez daty i rozszerzenia
  19.  
  20.  
  21. if(($nazwa==".") or ($nazwa=="..")) continue;
  22.  
  23.  
  24. echo $wpisana_nazwa_pliku .'<br>';
  25. echo $dirArray[$i].'<br>';
  26.  
  27.  
  28. }


Dobra działa zrobiłem kilka głupich błędów..
powinno byc
  1. #
  2. echo $wpisana_nazwa_pliku[0] .'<br>';
  3. if ($file === '.' || $file === '..') continue;
i takie tam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.