![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Mam problem ze skryptem. Obecnie skrypt poniżej wyświetla wszystkie obrazki z zadanego katalogu "image/". Chodzi o to aby przerobić go, aby wyświetlał obrazki tylko o rozszerzeniu *.jpg i *.gif oraz o ile to możliwe o wielkości powyżej 502x376px. Jeżeli obrazek nie będzie spełniał tych kryteriów ma nie być wyświetlany. Proszę o pomoc, moze ktoś wie jak to zrobić ? :-) Niestety jestem początkujący w php i nie bardzo wiem jak jak go praktycznie przerobić. Z góry dzięki. Komuś będę wisiał browara :-)
Kod <?php
// Określamy katalog w którym znajdują się zdjęcia. $katalog='image/'; // Inicjujemy zmienne pomocnicze. $d=dir($katalog); $x=0; /* Czytamy nazwy wszystkich plików z katalogu zdjęć i umieszczamy je kolejno w tablicy $album. Wczytane nazwy bedą się teraz znajdować kolejno w $album[0], $album[1], ... */ while (false !==($plik=$d->read())) { if ($plik !='.' && $plik !='..') $album[$x++]=$plik; } // Losujemy liczbę z zakresu od 0 do 'liczby wczytanych zdjęć'... $x=rand(0,count($album)); // ...a następnie odczytujemy nazwę z tablicy zdjęć i przypisujemy $fotka. $fotka=$album[$x]; /* Teraz zostało już tylko wyświetlić losowo wybrana fotografię. Zmienna: $katalog.$fotka będzie zawierać pełą ścieżkę dostępu do pliku. Przy pomocy stylów css, na sztywno został określony rozmiar ramki oraz wielkości obrazka. Parametry te należy dostosować do własnych potrzeb. */ echo ' <table style="border: 0px dashed black"> <tr> <td> <img src="'.$katalog.$fotka.'" style="border: 1px solid black; width: 502px; height:376px"> </td> </tr> </table>'; ?> |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ten post edytował mls 29.06.2008, 19:38:53 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czyli po zmianach powinno to wyglądać tak, o ile dobrze zrozumiałem !?
Kod <?php
// Określamy katalog w którym znajdują się zdjęcia. $katalog='image/'; // Inicjujemy zmienne pomocnicze. $d=dir($katalog); $x=0; /* Czytamy nazwy wszystkich plików z katalogu zdjęć i umieszczamy je kolejno w tablicy $album. Wczytane nazwy bedą się teraz znajdować kolejno w $album[0], $album[1], ... */ while (false !==($plik=$d->read())) { if ($plik != '.' && $plik != '..' && preg_match('/\.(jpg|jpeg|gif)$/i', $plik)) { $_imginfo = getimagesize($katalog . $plik); if ($_imginfo[0] >= 502 && $_imginfo[1] >= 376) $album[] = $plik; } } // Losujemy liczbę z zakresu od 0 do 'liczby wczytanych zdjęć'... $x=rand(0,count($album)); // ...a następnie odczytujemy nazwę z tablicy zdjęć i przypisujemy $fotka. $fotka=$album[$x]; /* Teraz zostało już tylko wyświetlić losowo wybrana fotografię. Zmienna: $katalog.$fotka będzie zawierać pełą ścieżkę dostępu do pliku. Przy pomocy stylów css, na sztywno został określony rozmiar ramki oraz wielkości obrazka. Parametry te należy dostosować do własnych potrzeb. */ echo ' <table style="border: 0px dashed black"> <tr> <td> <img src="'.$katalog.$fotka.'" style="border: 1px solid black; width: 502px; height:376px"> </td> </tr> </table>'; ?> Ten post edytował shreker 29.06.2008, 19:46:26 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 677 Pomógł: 89 Dołączył: 31.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dokładnie tak.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 270 Pomógł: 0 Dołączył: 21.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki serdeczne za pomoc w sprawie przerobienia skryptu. Oczywiście działa, tylko jest jeden problem, mianowicie, o ile dobrze zrozumiałem budowę skryptu, brakuje w nim "zapetlenia". Chodzi o to że jeżeli wrzucę do zadanego katalogu ze zdjęciami jakieś zdjęcie nieodpowiadające wymogom to mimo wszystko skrypt bierze je również pod uwagę, podczas losowania - co skutkuje wyświetleniem samej ramki bez zdjęcia. Mam prośbę czy dało by się zrobić coś takiego że jeżeli skrypt natrafi na takie zdjęcie/zdjęcia to pomijałby je i brał pod uwagę podczas losowania, ewentualnie budowania tablicy tylko zdjęcia spełniające określone wymogi ? Podejrzewam że trzeba najlepiej coś takiego umieścić w momencie jak jest budowana tablica, na podstawie której pozniej są losowane zdjęcia. Jednak nie bardzo wiem niestety jak to zrobić. Proszę więc o pomoc. Z góry dzięki, jak tak dalej pójdzie to dojdziemy do zgrzewki browarów
![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 01:33 |