Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nie wiem czego szukam dokładnie, zajrzyj do tematu
-Traktor-
post
Post #1





Goście







No właśnie czego szukam. Może powiem po prostu jaki efekt chcę osiągnąć.

-Daję na forum adres do obrazka w tagach:


-Rzecz w tym że na serwerze mam 20 grafik.
-Chciałbym zeby "coś" sprawiło że z tych 20 grafik zostanie wylosowana jedna, której będzie nadany adres http://www.adresmojegoserwera.pl/grafika.png

Czyli w skrócie


^-wyświetla się za każdym razem inna, jedna z 20 grafik

Jakiś czas temu zauważyłem takie rozwiązanie u jednego uzytkownika mjewdnego z for. NIestety nie chchiał się podzielić sposobem uzyskania tego efektu, gdzieś na końcu rozmowy powiedział tylko php. Jako ze nie znam się na php wogóle postanowiłem napisać to tutaj.

Proszę o pomoc

Pozdrawiam

Jeżeli napisane lakonicznie i niezrozumiale to proszę powiedzieć, a postaram się lepiej wytłumaczyć.
Go to the top of the page
+Quote Post
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Adres obrazka wskazuje tak naprawde na skrypt php, który to losuje obrazek i go wyswietla. Dla przyjaciółki kiedyś zrobiłem coś podobnego, niestety nie mam źródeł. O to najprostsza wersja (piszę z palca, więc mogą byc błędy).
  1. <?php
  2. // zdjęcia znajdują się w katalogu 'images'
  3. define('IMAGES_DIR', 'images/');
  4.  
  5. $dir = opendir(IMAGES_DIR);
  6. // zczytywanie plików z folderu zdjęciowego
  7. while($file = readdir($dir))
  8. {
  9. // pobieranie rozszerzenia pliku
  10. $ext = strrchr($file, ".");
  11. // proste sprawdzenie, czy plik jest JPEG'iem (na podstawie rozszerzenia).
  12. $is_img = eregi('jpg|jpeg', $ext);
  13. if($file != '.' && $file != '..' && $is_img) {
  14. //tworzenie tablicy ze zdjęciami do wylosowania
  15. $images[] = $file;
  16. };
  17. };
  18. closedir ($dir);
  19.  
  20. // losowanie zdjęcia (Uwaga! Folder zdjęciowy nie może być pusty).
  21. $filename = $images[array_rand($images)];
  22. // wyświetlenie wylosowanego zdjęcia w przeglądarce.
  23. header('Content-type: image/jpeg');
  24. readfile(IMAGES_DIR.$filename);
  25. ?>

edit:
Zapomniałbym, by umieścić taki obrazek na forum, skrypt musi mieć rozszerzenie jednego z popularnych formatów plików zdjęciowych (jpg|gif|png). Najwygodniej jest użyć pliku .htaccess i tam wpisać taką regułę:
Kod
RewriteRule ^(avatar.png) nazwa_pliku_skryptem.php

Wtedy każde odwołanie do pliku avatar.png, będzie przekierowane na skrypt losujący.
Mam nadzieję, że pomogłem.

Cheers

Ten post edytował LBO 4.07.2006, 13:49:58
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #3





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Swoją drogą to bardzo tajemniczy ten kolega, co się podzielić nie chciał. Tacy są straszni <brrrr />


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
nasty
post
Post #4





Grupa: Zarejestrowani
Postów: 634
Pomógł: 14
Dołączył: 27.05.2006
Skąd: Berlin

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


To raczej sie inaczej robi.
masz pliki od 1.jpg do x.jpg i w php robisz $number = rand(1,10), i wstawiasz to html-u <img src=$number.jpg />
Go to the top of the page
+Quote Post
LBO
post
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


A mi się jednak wydaję, że to co podałem jest odpowiedzią na zadane pytanie
Cytat
-Rzecz w tym że na serwerze mam 20 grafik.
-Chciałbym zeby "coś" sprawiło że z tych 20 grafik zostanie wylosowana jedna, której będzie nadany adres http://www.adresmojegoserwera.pl/grafika.png
-wyświetla się za każdym razem inna, jedna z 20 grafik

Czyli: jeden adres pliku, losowe zdjecia...
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 Aktualny czas: 20.08.2025 - 10:02