Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dzielenie galerii na strony ...
Forum PHP.pl > Forum > Przedszkole
saint99
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 ...
Bartech
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...
saint99
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
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.