Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Prosta galleria PHP
Jaen-ni-rin
post 19.12.2004, 09:21:40
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.12.2004

Ostrzeżenie: (0%)
-----


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

Ten post edytował Jaen-ni-rin 21.12.2004, 17:16:57


--------------------
Go to the top of the page
+Quote Post
mike
post 19.12.2004, 09:54:11
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Jaen-ni-rin
post 19.12.2004, 11:38:24
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.12.2004

Ostrzeżenie: (0%)
-----


Dzięki.
Teraz już działa.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:50