Jak umieścić na stronie losową grafikę, gdy obrazków w katalogu jest wiele i są ponumerowane rosnąco


[PHP] Jak umieścić na stronie losową grafikę, gdy obrazków w katalogu jest wiele i są ponumerowane rosnąco?

0x01 graphic

Chcesz umieścić na stronie losowy obrazek, który pochodzi z katalogu, gdzie wcześniej przygotowane zostały ponumerowane pliki, np. 01.jpg, 02.jpg, 03.jpg, itd.

0x01 graphic

Losowo wyświetlane grafiki (zdjęcia, ikonki) uatrakcyjnią serwis. Jedną z metod stworzenia losowych grafik jest ponumerowanie wszystkich plików rosnąco w pewnym zakresie (np. od 00.jpg do 99.jpg) i wylosowanie odpowiedniej liczby, a potem dodanie rozszerzenia pliku i wyświetlenia go na ekranie. Zobacz jak to najłatwiej zrobić.

<?

srand((double)microtime()*1000000);

$plik = sprintf("%02d.gif",rand(0,10));

echo "<img src=\"$plik\">";

?>

Pierwsza linijka inicjuje generator liczb pseudolosowych, aby numer był jak najbardziej przypadkowy. Wylosowanie numerka z odpowiedniego zakresu zapewnia funkcja rand(), w której wystarczy podać początek i koniec przedziału liczbowego. U nas będą to liczby od 0 do 10 (włącznie).

Pliki z grafikami warto numerować tak, aby na początku występowały zera wiodące. A więc zamiast 1.jpg, lepiej jest napisać 0001.jpg. Oczywiście nie jest to konieczne, ale jeżeli zdecydujesz się na taką numerację, trzeba wylosowaną liczbę uzupełnić o te zera.

Funkcja sprintf() pozwala tak sformatować liczbę, aby uzupełnić ją zerami. Zapis %02d oznacza, że liczba będzie zapisana na dwóch pozycjach z zerami z przodu. Analogicznie %04d oznacza liczbę złożoną z czterech cyfr z zerami poprzedzającymi. W funkcji dodawane jest od razu rozszerzenie pliku .gif.

Trzecia linijka wyświetla na ekranie grafikę o nazwie z wylosowanym numerem.

Może się zdarzyć tak, że pewne numery należy pominąć (np. plik został skasowany lub jest uszkodzony. Wtedy najlepiej napisać funkcję losującą, a do tablicy $w[] dodawać pomijane numery. Jak poniżej:

<?

function losuj() {

$w[]=1457; //pomijamy plik 1457.gif

$w[]=2398; //pomijamy plik 2398.gif

$w[]=20; //pomijamy plik 20.gif

do {

$ok=0;

$liczba = sprintf("%04d.gif",rand(0,2500));

for ($i=0;$i<count($w);$i++) {

if ($liczba==$w[$i]) $ok=1;

}

} while ($ok==1);

return $liczba;

}

srand((double)microtime()*1000000);

$plik = losuj();

echo "<img border=0 src=$plik>";

?>

Funkcja sprawadza, czy wylosowana liczba nie należy do eliminowanych liczb. Jeżeli tak, losuje nową liczbę.



Wyszukiwarka

Podobne podstrony:
Jak stworzyć na stronie kalendarzyk z dniami miesiąca na dowolny rok i miesiąc, PHP Skrypty
Zostań milionerem! Jak zarabiać na własnej stronie WWW
Jak zwiększyć ruch na stronie
120 porad Jak zwiększyć ruch na stronie WWW
Jak zwiększyć ruch na stronie www
Jak zwiększyć ruch na stronie WWW 120 praktycznych wskazówek (2)
Jak chronić adres e-mail na stronie przed spamem stosując przekierowanie, PHP Skrypty
Grafika na stronie
GRAFIKA NA STRONIE INTERNETOWEJ cw1 3, II gimnazjum
GRAFIKA NA STRONIE INTERNETOWEJ cw4 6, II gimnazjum
Jak zrobić uniwersalne porcjowanie wyników na stronie,?y nie pokazywała się?ła zawartość?zy?nych2
Jak zrobić uniwersalne porcjowanie wyników na stronie,?y nie pokazywała się?ła zawartość?zy?nych
120 porad jak zwiększyć ruch na stronie www
jak zwiekszyc ruch na stronie www
Jak Zwiekszyc Ruch Na Stronie www
Sałatka mięsna na zimno, grafiki moje, obrazki, PRZEPISY KULINARNE, SAŁATKI
Jak znaleźć materiały do pracy domowej na stronie GUS
Jak stworzyć losowe porady wyświetlające się na stronie WWW, PHP Skrypty
120 porad jak zwiekszyc ruch na stronie www

więcej podobnych podstron