Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]modyfikacja skryptu galerii, konstrukcja arrey
Forum PHP.pl > Forum > Przedszkole
maraska
Mam skrypt galerii wyświetlający obrazki z danego katalogu.
Kawałek kodu wygląda tak:
  1. define("GALLERY_ROOT", "/images/$id/");
  2. /*
  3. Jakiś kod
  4. */
  5. $directory_handle = opendir(GALLERY_ROOT . $dir);
  6. if ($directory_handle != FALSE)
  7. {
  8. while($var = readdir($directory_handle))
  9. {
  10. if (is_dir(GALLERY_ROOT . $dir . $var))
  11. {
  12. if (($var != ".") and ($var != "..") and !in_array(strtolower($var), $dir_exclude))
  13. {
  14. $dirs[] = $var;
  15. if (DIR_SORT_BY_TIME)
  16. {
  17. $dirs_time[] = filemtime(GALLERY_ROOT . $dir . $var . "/.");
  18. }
  19. }
  20. }
  21. /*
  22. Jakiś kod
  23. */


Problem w tym, że nie wiem jak zrobić, żeby zmienna $id będąca ścieżką do katalogu była tablicą, tzn. żeby wyświetlić obrazki z kilku katalogów.
nospor
Zamiast definiować stałą na podstawie ID, to swtorz sobie te tablice tych ID i ten kod wsadz w FOREACH lecący po tej tablicy
luniak
  1. define("GALLERY_ROOT", "/images/");
  2. /*
  3. Jakiś kod
  4. */
  5.  
  6. $ids = array("0","11","25");
  7.  
  8. foreach($ids as $id ){
  9. $directory_handle = opendir(GALLERY_ROOT . $id . $dir);
  10. if ($directory_handle != FALSE)
  11. {
  12. while($var = readdir($directory_handle))
  13. {
  14. if (is_dir(GALLERY_ROOT . $id . $dir . $var))
  15. {
  16. if (($var != ".") and ($var != "..") and !in_array(strtolower($var), $dir_exclude))
  17. {
  18. $dirs[] = $var;
  19. if (DIR_SORT_BY_TIME)
  20. {
  21. $dirs_time[] = filemtime(GALLERY_ROOT . $id . $dir . $var . "/.");
  22. }
  23. }
  24. }
  25. }
  26. }
  27. }
  28. /*
  29. Jakiś kod
  30. */


EDIT: Dammm, nospor był szybszy tongue.gif
maraska
Dziękuję obu kolegom za pomoc, ale ... moja wina. Pokazałem tylko kawałek kodu. Natomiast folder galerii jest wywoływany wiele razy w różny sposób więc przy tym rozwiązaniu trochę grzebania a po aktualizacji wersji skryptu robota od nowa.

Nie dało by się jakoś przed

define("GALLERY_ROOT", "/images/$id/");

żeby dalej już nic nie mieszać?
luniak
Tak, przenieś poprostu tego define do pętli tongue.gif
Tzn pętla musiała by obejmować całość kodu wraz z define
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.