Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z funkcją readdir
Forum PHP.pl > Forum > Przedszkole
fiflus
Mam problem z funkcją readdir a głównie chodzi mi o niealfabetyczne wyświetlanie plików,
oto przykład mojego kodu:


  1. <?php
  2. $dir = "../groszek/";
  3. $katalog = opendir($dir); 
  4. while ($plik = readdir($katalog)){
  5. if ($plik != '.' && $plik != '..' && !is_dir($plik) && eregi(".jpg",$plik)){
  6. print $plik."<br>";
  7. }
  8. }
  9. closedir($katalog);
  10. ?>


Pliki jpg z katalogu nie są wyświetlane w/g nazwy tylko są porozrzucane, jak zmienić ten kod,
aby były wyświetlane w/g nazwy czyli od najmniejszej cyfry do największej.
Zaznaczę, że w nazwie pliku znajdują się litery i cyfry np:

P1030451.jpg
P1030452.jpg
P1030453.jpg


Chyba, że problem tkwi po stronie serwera sad.gif to nie było tematu...


Proszę o pomoc jak rozwiązać ten mój problem, za rady z góry dziękuję smile.gif
SirZooro
readdir zwraca listę plików w takiej kolejności jak jest ona zapisana na dysku. Musisz wczytać sobie całą listę do tablicy i ją później posortować (sort).
b_chmura
  1. <?php
  2. function sort_scandir($in)
  3. { 
  4. $sd = scandir($in);
  5.  
  6. foreach($sd as $file)
  7. {
  8. if(is_dir($file))
  9. {
  10. $ARRfile['1'][] = $file;
  11.  
  12. }
  13. if(is_file($file))
  14. {
  15. $ARRfile['2'][] = $file;
  16. }
  17. }
  18. foreach($ARRfile as $file)
  19. {
  20. foreach($file as $file)
  21. {
  22. $out[] = $file;
  23. }
  24. }
  25. return $out;
  26. }
  27. ?>


funkcja zwraca tablice z posortowanymi plikami i katalogami (najpierw katalogi potem pliki)
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.