Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Wyświetlanie obrazków z podkatalogów
Forum PHP.pl > Forum > PHP
Wismat
Witam! Już raz pytałem się o pomoc z tym skryptem, który został już rozwiązany. Teraz pojawił się kolejny...

Skrypt ma wyświetlać wszystkie obrazki z wszystkich podkatalogów pewnego folderu wybranego przez użytkownika metodą GET. Wszystko działa ok, z wyjątkiem pętli while (numerek 1) która nie działa. Wg. mojego zamysłu powinna inicjować powtózenie otwarcia kolejnych podkatalogów...
Mam nadzieję że mnie rozumiecie i podpowiecie, gdzie jest błąd smile.gif

Pozdrawiam, Wismat
  1. Na dole aktualny skrypt
Wicepsik
Jaką wartość ma zmiena liczba przed pętlą while ?
Wismat
Oops. Poprawiłem ale nadal nie dziłała sad.gif
  1. <?php
  2. if(isset($_GET['data']))
  3. {
  4. $kat = './nowe/'.$_GET['data'].'';
  5. $katalog = scandir($kat);
  6. $obrazki = array();
  7. $folder = opendir(''.$kat.'/'.$katalog['.$i.'].'/');
  8. $liczba = count($katalog);
  9. $i = 2;
  10. while($i > $liczba) //Ta pętla nie działa? <----- 1
  11. {
  12. while(false !== ($plik = readdir($folder)))
  13. {
  14. if($plik != "." && $plik != ".." && strpos($plik,'.JPG',1))
  15. {
  16. $obrazki[] = $plik;
  17. }
  18. }
  19. sort($obrazki);
  20. foreach($obrazki as $img)
  21. {
  22. echo '<img src="'.$kat.'/'.$katalog['.$i.'].'/'.$img.'" class="cap" />';
  23. }
  24. $i++;
  25. }
  26. }
  27. else
  28. {
  29. echo 'Niepoprawne dane w adresie! Skontaktuj się z adminem strony: <a href="kontakt.html">Kontakt</a>';
  30. }
  31. ?>
Wicepsik
Strasznie mieszasz, spróbuj zmienić to.

  1. $kat = '/nowe/'.$_GET['data'];
  2. $katalog = scandir($kat);
  3. $obrazki = array();
  4. $folder = opendir($kat.'/'.$katalog[$i].'/'); // powinno być w pętli
  5.  
  6.  
  7. echo '<img src="'.$kat.'/'.$katalog[$i].'/'.$img.'" class="cap" />';
Wismat
Zmieniłem i nadal nic nie działa...
kriszna
  1. while($i > $liczba)

Sprawdź warunek.
Wismat
Heh! Działa. Głupi błąd, zamiast "<" było ">"... Wreszcie działa. Dzięki. guitar.gif

Skrypt już działa, ale dlaczego niektóre zdjęcia są wyświetlane parę razy, albo w ogóle? Dodam, że efekt jest losowy. Raz się coś dzieje, a raz jest normalnie z obrazkami. Efekt jest tu: http://www.kapsle-wismat.yoyo.pl/teraz.php5?data=09.04

Z góry dzięki smile.gif
Kod:
  1. <?php
  2. if(isset($_GET['data']))
  3. {
  4.  
  5. $kat = './nowe/'.$_GET['data'].'';
  6. $katalog = scandir($kat);
  7. $obrazki = array();
  8. $liczba = count($katalog);
  9. $i = 2;
  10. // print_r($i);
  11. while($i < $liczba)
  12. {
  13. $folder = opendir($kat.'/'.$katalog[$i].'/');
  14. while(false !== ($plik = readdir($folder)))
  15. {
  16. if($plik != "." && $plik != ".." && strpos($plik,'.JPG',1))
  17. {
  18. $obrazki[] = $plik;
  19. }
  20. }
  21. sort($obrazki);
  22. echo '<p class="nowekraj"><img src="flags/'.$katalog[$i].'.gif" class="nowekapsleflaga" alt="flaga" /> '.$katalog[$i].'<br />';
  23. foreach($obrazki as $img)
  24. {
  25. echo '<img src="'.$kat.'/'.$katalog[$i].'/'.$img.'" width="100px" height="100px" />';
  26. }
  27. echo '</p>';
  28. $i++;
  29. }
  30. }
  31. else
  32. {
  33. echo 'Niepoprawne dane w adresie! Skontaktuj się z adminem strony: <a href="kontakt.html">Kontakt</a>';
  34. }
  35. ?>
  36.  
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.