Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Prosta galleria PHP
Forum PHP.pl > Forum > Gotowe rozwiązania
Jaen-ni-rin
Tworzę strona pewnego mod'a do gry Homeworld.
Nie chciałem sobie zawracać głowy skomplikowanymi 20 megowymi potworami typu Gallery 2 czy Coppermine. Napisałem więc bardzo prosty skrypt galerii opierający się na prostym pliku-katalogu obrazków.
Gdy go otworzyłem w przeglądarce okazało się, że pętla jest nieskończona sad.gif

KOD:

  1. <table width="85%" height="151" border="0" align="center" cellpadding="0" cellspacing="0" class="table">
  2.  
  3. [php]
  4. <?php
  5. =file('photos.txt');
  6. echo ("<tr>");
  7. for(=1;<count();+3)
  8. {
  9. =split(":",[-1]);
  10. echo ("<td height=\"170\"><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  11. =split(":",[]);
  12. echo ("<td><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  13. =split(":",[+1]);
  14. echo ("<td><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  15. echo ("</tr>");
  16. echo ("<tr>");
  17. =split(":",[-1]);
  18. echo ("<td height=\"35\" class=\"podpis\">[1]</td>");
  19. =split(":",[]);
  20. echo ("<td class=\"podpis\">[1]</td>");
  21. =split(":",[+1]);
  22. echo ("<td class=\"podpis\">[1]</td>");
  23. echo ("</tr>");
  24. }
  25. ?>
  26. [/php]
  27. </table>


Jednak gdy zamiast pętli początkowy obrazek ustawić na sztywno wszystko jest w porządku.

KOD:

  1. <table width="85%" height="151" border="0" align="center" cellpadding="0" cellspacing="0" class="table">
  2.  
  3. [php]
  4. <?php
  5. =file('photos.txt');
  6. echo ("<tr>");
  7. =1;
  8.  
  9. =split(":",[-1]);
  10. echo ("<td height=\"170\"><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  11. =split(":",[]);
  12. echo ("<td><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  13. =split(":",[+1]);
  14. echo ("<td><a href=\"big/[0]\"><img src=\"thumbs/[0]\" alt=\"\" width=\"200\" height=\"150\" border=\"0\" /></a></td>");
  15. echo ("</tr>");
  16. echo ("<tr>");
  17. =split(":",[-1]);
  18. echo ("<td height=\"35\" class=\"podpis\">[1]</td>");
  19. =split(":",[]);
  20. echo ("<td class=\"podpis\">[1]</td>");
  21. =split(":",[+1]);
  22. echo ("<td class=\"podpis\">[1]</td>");
  23. echo ("</tr>");
  24.  
  25. ?>[/php]
  26. </table>


Proszę o pomoc !
Skrypty w działaniu i ich pliki źródłowe można znależć TU
mike
Masz błąd w linii 5

Nie tak :
  1. <?php
  2. // ...
  3. for( $i=1; $i<count( $plik ); $i+3 )
  4. // ...
  5. ?>

Tylko tak :
  1. <?php
  2. // ...
  3. for( $i=1; $i<count( $plik ); $i+=3 )
  4. // ...
  5. ?>


Zgubiłeś = w łączonym operatorze przypisania ( += ) więc licznik pętli stał w miejscu. Dlatego pętla była nieskończona.
Jaen-ni-rin
Dzięki.
Teraz już działa.
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-2024 Invision Power Services, Inc.