Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dzielenie galerii na strony ...
saint99
post 18.02.2005, 18:56:24
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 18.03.2004
Skąd: Brzozów

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


według takiego skryptu...

  1. <?php
  2. $dir = &#092;"128160\"; //katalog plików...
  3. $opn=opendir($dir);
  4. readdir($opn); // czyta .
  5. readdir($opn); // czyta ..
  6. while($file = readdir($opn)){
  7. echo&#092;"<img src=\".$dir.\"/\".$file.\"> \";
  8. }
  9. closedir($opn);
  10. ?>


...generuje galerie z plików w danym folderze... jednak jeśli załaduje do folderu dużo plików to strona dłuuuuugo sie otwiera .... chciałem to jakoś zrobić, żeby z automatu dzieliło mi całą galerie danego folderu na mniejsze galerie po 100 plików graficznych .... tylko problem polega na tym że nie wiem jak zrobić tak żeby samo generowało linki 1-100 | 101-200 | 201-300 | itd ... ręcznie zrobić to by było bardzo czasochłonne a i kłopotliwe bo przy każdum updacie tapet to musiał bym dodawac je do pliku ...
kompletnie nie mam an to pomysłu ... mam nadzieje, że coś pomożecie ...

Ten post edytował saint99 18.02.2005, 18:56:51


--------------------
----------- d[=_=]b ------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Bartech
post 18.02.2005, 20:14:32
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


Powinieneś użyć funkcji for która w przeciwieństwie do while, pozwala na określanie startowej i koncowej liczby, natomiast musisz jakoś rozwiązać problem zaczynania od np: 101, co można zrobić zmuszajac funkcję for do przejechania przez 100 pierwszych zdjęć i nie drukowania ich linków, a potem do drukowania od 101 do 200.

Przykład:
  1. <?php
  2.  
  3. $start =101
  4. $end=200
  5.  
  6. for ($start = 0; $start < $end; ++$index)
  7. {
  8. //pobieranie kolejnych zdjęć
  9. //drukowanie kolejnych zdjeć
  10. }
  11.  
  12. ?>


Albo coś w tym stylu:
  1. <?php
  2.  
  3. $start =101;
  4. $end=200;
  5. $index = 0;
  6.  
  7. //Twój kod
  8. while($file = readdir($opn))
  9. {
  10. if($index < $start || $index > $end):
  11. //nic nie robi tylko powiększa index
  12. $index = bcadd($index, 1);
  13. else:
  14. echo&#092;"<img src=\".$dir.\"/\".$file.\"> \";
  15. $index = bcadd($index, 1);
  16. endif;
  17. }
  18.  
  19. ?>

Teraz tylko wystarczy w linku do strany podawać inne start i end, oczywiści genetowane przez automat w formie listy linków. wówczas byłoby dobrze najpierw sprawdzić liczbę zdjęć i podzielić przez 100 i postawić tyle linków!!!

Co ty na to?
Od razu mówię że nie testowałem...


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
saint99
post 18.02.2005, 20:22:13
Post #3





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 18.03.2004
Skąd: Brzozów

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


a ja na to ....
  1. <?php
  2.  
  3. $op=opendir(&#092;"$dir\");
  4. readdir($op);
  5. readdir($op);
  6.  
  7. $nr=$_GET[page]; //pobiera nr strony z adresu np: 100
  8.  
  9. // ------ otwiera 100ny obrazek -------
  10. while ($list=readdir($op)){ // czyta liste plików
  11. // tutaj mam problem z pokazywaniem nazw plików dopiero od $_GET[page]
  12. }
  13. ?>


.... czyli chyba ten sam problem co ty masz ... myśle, że to pokazywanie nazw plików dopiero od 100 ($_GET[page]) dało by się zrobić jakąś pętlą ... ale próbowałem różne i nie umiem takiej zbudowac ... sad.gif macie na to pomysł questionmark.gif

Ten post edytował saint99 19.02.2005, 13:53:08


--------------------
----------- d[=_=]b ------------
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 - 04:26