Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Generowanie galerii, problem z szukaniem zdjec.
Forum PHP.pl > Forum > Przedszkole
bercow
Witam.

Mam problem z generowaniem galerii, nie wiem czemu ale petla wykonuje sie tylko raz, albo wykonuje sie bez konca. Moze ktos widzi blad ?

  1. <?php
  2. $i = 1;
  3. do {
  4. $plik = "/foto/max/".$i.".jpg";
  5. $test = file_exists($plik);
  6. if (!$test)
  7. {
  8. echo $i;
  9. echo '<img src="/foto/max/'.$i.'.jpg" width="10%" height="20%" alt="" />';
  10. $i = $i+1;
  11. echo $i;
  12. }
  13. else
  14. {
  15. $i = 0;
  16. }
  17. }
  18. while ($i == 0)
  19. ?>
nospor
while ($i == 0)
Co wg. ciebie robi ten warunek pętli?
Monter08
Nie rozumiem tego
  1. $test = file_exists($plik);
  2. if (!$test)

Jeżeli pliku nie będzie to ma go wyświetlić?
bercow
Cytat(nospor @ 15.11.2011, 15:12:40 ) *
while ($i == 0)
Co wg. ciebie robi ten warunek pętli?

Faktycznie do while wykonuje sie dopoki spelniony jest warunek,
Cytat(Monter08 @ 15.11.2011, 15:15:32 ) *
Nie rozumiem tego
  1. $test = file_exists($plik);
  2. if (!$test)

Jeżeli pliku nie będzie to ma go wyświetlić?

Wiem, ale jak dam if($test) to dzieje sie cale nic.

Jezeli zmienie na while ($i <>0) petla wykona sie bez konca.

Powino byc, ($test) i $i <>0 Ma wyswietlac popoki zdjecia istenieja, a zakonczyc jak $i = 0, a wiec wykonywac, az do $i roznego od zera. Ale w takim idealnym ukladzie nie dzieje sie nic :/
nospor
Taka prosta pętla z prostym warunkiem. Po co ci w ogole w warunku te $i?

  1. $i = 1;
  2. do {
  3. $plik = "/foto/max/".$i.".jpg";
  4. $test = file_exists($plik);
  5. if ($test)
  6. {
  7. echo $i;
  8. echo '<img src="/foto/max/'.$i.'.jpg" width="10%" height="20%" alt="" />';
  9. $i = $i+1;
  10. echo $i;
  11. }
  12. }
  13. while ($test)

I juz

ps:
$plik = "/foto/max/".$i.".jpg";
sprawdzanie ściezki do pliku na serwerze powinno się raczej odbywać względem ścieżki twojej aplikacji a nie względem katalogu głównego. Nic dziwnego ze ci plików nie znajduje

Co innego znaczy /foto/max/".$i.".jpg w URL a co innego /foto/max/".$i.".jpg znaczy w ściezce na serwerze
Monter08
Tylko pamiętaj, że jak w katalogu obrazki 1.jpg, 2.jpg, 4.jpg to pętla zakończy działanie po 2. Moim zdaniem rozwiązanie nie jest zbyt dobre.
bercow
Faktycznie, wywalenie "/" sprzed /foto/... pomoglo, i dziala idealnie

Co do 1.jpg, 2.jpg itd. Jest mi to potrzebne do ustalenia kolejnosci wyswietlania, i "dosyc latwej" mozliwosci zmiany tej kolejnosci.
qasz
A nie prosciej ?

  1.  
  2. $imgs = glob("foto/max/*.jpg");
  3.  
  4. foreach($imgs as $val)
  5. {
  6. echo '<img src="foto/max/'.$val.'" width="10%" height="20%" />';
  7. }
bercow
@qasz

A jak je potem segregowac, ktory pierwszy,a ktory 7 mial by sie wysietlic ?
qasz
No w tym przypadku imgs jest tablica, wiec mozesz z nia robic co tylko chcesz w latwy sposob.
gorden
natsort
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.