Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]modyfikacja skryptu galerii, konstrukcja arrey
maraska
post 21.08.2014, 10:29:29
Post #1





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


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.
Go to the top of the page
+Quote Post
nospor
post 21.08.2014, 10:33:52
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zamiast definiować stałą na podstawie ID, to swtorz sobie te tablice tych ID i ten kod wsadz w FOREACH lecący po tej tablicy


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
luniak
post 21.08.2014, 10:35:27
Post #3





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


  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

Ten post edytował luniak 21.08.2014, 10:36:37


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
maraska
post 21.08.2014, 19:56:48
Post #4





Grupa: Zarejestrowani
Postów: 143
Pomógł: 0
Dołączył: 9.04.2013

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


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ć?
Go to the top of the page
+Quote Post
luniak
post 22.08.2014, 06:04:59
Post #5





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


Tak, przenieś poprostu tego define do pętli tongue.gif
Tzn pętla musiała by obejmować całość kodu wraz z define


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

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: 13.06.2025 - 10:15