Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] galeria zdjęć
Forum PHP.pl > Forum > Przedszkole
atasze
Witam,
napisałem prosty skrypt galerii fotograficznej opierając się o różne źródła pragnę prosić Was o pomoc przy optymalizacji tego skryptu.
Pozdrawiam

  1. <?
  2. $Amount=1;
  3. foreach(glob("images/galeria/duze/*.*") as $filename)
  4. $Amount++;
  5. // zlicza zdjęcia z folderu duze
  6. for ($i=($Amount-1),$j=0; $i>=1; $i--) {
  7. print "<a href='images/galeria/duze/$i.jpg'><img src='images/galeria/male/$i.jpg' width='70' height='70' border='0' alt='$i' /></a>"; 
  8. // pętla generuje kolejno miniatury zdjęć od największego numeru do najmniejszego
  9. $j++;
  10. if ($j % 4 == 0) print "<br /><br />";
  11. // po 4 zdjęciu przechodzi do nowego wiersza
  12. }
  13. ?>


Z góry dzięki za pomoc biggrin.gif
Daimos
ja bym pobieral po prostu wszystkie pliki z folderu, teraz musisz wrzucac kolejne obrazki tzn nazwane kolejno 1.jpg 2.jpg itd
a jak wrzucisz inny numer, albo litere czy cos, nic sie nie wyswietli
atasze
smile.gif
Bede musiał dodatkowo określić rozszerzenia plików graficznych .jpg, .png, itp. Poniewaz w przeciwnym razie każdy inny plik bedzie powodował wyswietlanie pustej miniaturki na stronie. Jeśli bede chcial dodac nowe zdjęcie to wrzucam je do katalogu duze oraz miniature do katalogu małe i zwiekszam ich nazwy o 1 smile.gif dzieki temu zdjęcia zostaną wyświetlone na stronie (zdjęcie o najwiekszym nr bedzie wyswietlane jako pierwsze na stronie). Ponawiam pytanie czy mozna ten skrypt jeszcze w jakis sposób zoptymalizować, a moze wykorzystać tutaj inną funkcję biggrin.gif Pozdrawiam

  1. <?
  2. $Amount=1;
  3. foreach(glob("images/galeria/duze/*.{bmp,gif,jpg,png,BMP,GIF,JPG,PNG}") as $filename)
  4. $Amount++;
  5. // zlicza zdjęcia z folderu duze
  6. for ($i=($Amount-1),$j=0; $i>=1; $i--) {
  7. print "<a href='images/galeria/duze/$i.jpg'><img src='images/galeria/male/$i.jpg' width='70' height='70' border='0' alt='$i' /></a>"; 
  8. // pętla generuje kolejno miniatury zdjęć od największego numeru do najmniejszego
  9. $j++;
  10. if ($j % 4 == 0) print "<br /><br />";
  11. // po 4 zdjęciu przechodzi do nowego wiersza
  12. }
  13. ?>
Hectic
  1. <?php
  2. print "<a href='images/galeria/duze/$i.jpg'><img src='images/galeria/male/$i.jpg' width='70' height='70' border='0' alt='$i' /></a>";
  3. ?>


z tego co mi się wydaje jest to bardzo złe wyjście. O ile się nie mylę to mimo, że ustawisz wielkość na 70px to zdjęcie i tak jest wczytywane w normalnie wielkości. Natomiast wyświetla się w mniejszym rozmiarze. Duże zdjęcie mają nawet kilka mb. Pomyśl jak to wpłynie na czas wczytywania strony?
atasze
smile.gif To 70x70 to wymiar miniaturki (ona juz jest przycięta do takiego wymiaru) biggrin.gif znajduje sie w katalogu images/male/ natomiast prawdziwa fotografia images/duze/ ładuje się wtedy gdy klikniemy na wybrana miniaturę.
Na tym skrypcie się wzorowałem:
www
Pozdrawiam
Hectic
Moja wina, nie dopatrzyłem smile.gif Zakładałem, ze to ten sam adres winksmiley.jpg
owned
webmasterka/prosta galeria ? Sam napisałeś ?;>
Jedno jest zdumiewająco bliskie drugiego !
Niedługo planuje napisać część 2. więc możesz poczekać winksmiley.jpg
atasze
Cytat(owned @ 10.03.2008, 22:11:12 ) *
webmasterka/prosta galeria ? Sam napisałeś ?;>
Jedno jest zdumiewająco bliskie drugiego !
Niedługo planuje napisać część 2. więc możesz poczekać winksmiley.jpg


Podobne ale nie takie same i wyraźnie zaznaczyłem, że opierałem się o inne źródła nie tylko twoje, zresztą w którymś poście wspomniałem, że na tym skrypcie się wzorowałem, więc nie rozumiem aluzji. Skrypt zdążyłem już kilka razy poprawić biggrin.gif uzyskałem efekt taki jaki chciałem. Jedynym mankamentem jest ta pętla, nie jest to optymalny sposób, za każdym razem pętla jest wykonywana biggrin.gif w przypadku dużej liczby zdjęć lepszym rozwiązaniem jest tutaj ograniczenie wyświetlania zdjęć na stronie oraz wprowadzenie stronicowania. Pozdrawiam.
owned
heh tak jak juz mowilem niedlugo bedzie rozbudowa tego posta, bedzie automatyczne tworzenie miniaturek po stronie serwera oraz stronnicowanie winksmiley.jpg
pozdro
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.