Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nie wiem czego szukam dokładnie
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
Traktor
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ć.
LBO
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
Cysiaczek
Swoją drogą to bardzo tajemniczy ten kolega, co się podzielić nie chciał. Tacy są straszni <brrrr />
nasty
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 />
LBO
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...
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-2024 Invision Power Services, Inc.