PHP - gotowe skrypty - Galeria zdjęć
| DZIAŁANIE: | Wejdz do galerii : Galeria! |
Kod:

Ewentualne Objaśnienia:
Oto bardzo fajny przykład jak zrobić galerie zdjęć. W jakimś katalogu naszego serwisu umieszczamy plik - u mnie jest to index.php. Następnie w tym katalogu musimy mieć folder na zdjęcia - u mnie folder ten nazywa się po prostu 'zdjecia'. W tym katalogu zdjecia jeszcze tworzymy katalog - u mnie nazywa się on 'duze'. I teraz tak - musimy mieć nasze zdjęcia oraz ich już gotowe miniaturki ( jest masa programów do tego, można je nawet łatwo zrobić masowo we frontpage'u ). I teraz tak - nazwy plików muszą sobie odpowiadać - czyli kiedy na przykład plik danego zdjęcia nazywa się "moje_foto_1" to jego miniaturka musi się nazywać tak samo. W nazwie plików nie powinno być spacji itd !! Do masowej zmiany nazw plików można użyć skryptu, który znajduje się troszkę wcześniej w moim kursie - 81masowa_zmiena_nazw.php .W katalogu zdjecia - umieszczamy miniaturki, a w katalogu 'duze' - cale zdjecia.
Pojawia się nam tutaj jedna nowa funkcja - mianowicie - ereg - sprawdza czy łańcuch podany będący 2 argumentem pasuje do wyrażenie regularnego, które jest 1 argumentem. W naszym przykładzie dzięki tej funkcji sprawdzamy czy dany plik z naszego katalogu jest obrazem - czyli czy posiada odpowiednie rozszerzenie.
Jak widać używamy funkcji, o których już kiedyś była mowa, ale przyponem :
- opendir - zwraca uchwyt do katalogu podanego jako parametr;
- readdir - zwraca nazwę kolejnego pliku w katalogu określonym uchwytem
- closedir - zamyka katalog otwarty funkcją opendir;
Działanie skryptu jest proste - na początku odczytujemy zawartość katalogu z miniaturkami (zdjecia) - do tablicy $zdjecia zapisujemy kolejne nazwy plików ( jeżeli są to interesujące nas pliki czyli obrazy ). Następnie sprawdzamy czy metodą GET wybrano jakikolwiek numer obrazu z galerii - jeżeli tak i mieści się on w zakresie tablicy - czyli większy od 0 i mniejszy lub równy ilości plików ( czyli ilości zdjęć - miniaturek a co za tym idzie zdjęć dużych ) - jeżeli tak jest wyświetlana jest ilustracja ( przypomnij sobie działanie getimagesize ) oraz jeżeli podany numer jest większy od 1 - link do zdjęcia poprzedniego, do galerii oraz do następnego. Jeżeli mamy do czynienia z ostatnim zdjęciem - jedynie link do poprzedniego oraz do galerii i analogicznie w przypadku pierwszego zdjęcia - do galerii oraz zdjęcia następnego. Jeżeli skrypt nie odnajdzie pliku z dużym zdjęciem - czyli w katalogu duże - wyświetla informacje o tym.
W przypadku kiedy nie wybraliśmy żadnego numeru zdjęcia, które chcielibyśmy zobaczyć wyświetlana jest nam galeria - czyli w pętli, która powtarza się tyle razy ile jest plików miniaturek - wyświetlane są kolejne miniaturki ( znowu rozmiar określamy poprzez getimagesize ) , które są zarazem łączem do dużego zdjęcia.
W przypadku kiedy nie wybraliśmy żadnego konkretnego zdjęcia, ale zarazem tablica $zdjecia jest pusta ( czyli ilość jej elementów wynosi 0 ) - jest to równoważne z tym, że nie ma żadnych plików w galerii - pojawia się odpowiedni komunikat.