Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] Losowy obrazek z różnych katalogów
Aklim...
post 1.03.2006, 14:46:39
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.07.2005

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


Cześć
przeszukałem forum, ale nie znalazłem tego co mi jest potrzebne.
Wszędzie jest sposób z nazwami obrazków w tablicy.
Ja potrzebuję wyświetlać jeden losowy obrazek z katalogów.
Jeden losowy obrazek spośród katalogów wpisanych do tablicy, a najlepiej jeśli zadeklarowanych w jakimś pliku tekstowym (nie chcę edytować kodu jeśli dodam jeszcze jakiś katalog który ma być uwzględniany przy losowaniu).

Jak zwykle proszę Was o pomoc smile.gif



Ten post edytował tiraeth 5.03.2006, 16:39:41
Go to the top of the page
+Quote Post
Adiasz
post 1.03.2006, 15:02:03
Post #2





Grupa: Zarejestrowani
Postów: 155
Pomógł: 0
Dołączył: 28.02.2004

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


mozsz zrobic to tak:
1. odczytac podkatalogi katalogu glownego
2. wylosowac katalog
3. odczytac wszystkie pliki z wylosowanego katalogu
4. wylosowac plik i go wyswietlic

przydatny link: http://pl.php.net/manual/pl/function.opendir.php masz tam fajny przyklad

Ten post edytował Adiasz 1.03.2006, 15:02:25
Go to the top of the page
+Quote Post
Aklim...
post 1.03.2006, 15:19:13
Post #3





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.07.2005

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


1. odczytac podkatalogi katalogu glownego
2. wylosowac katalog

nie, nie. Nie wszystkie katalogi w głównym mają być uwzględniane w losowaniu. Tylko te które miałbym w pliku txt zadeklarowane.
Tzn. jeden spośród tych wymienionych w pliku txt byłby losowany, a z niego losowany plik.

Tyle, że ja teorię jako tako mam. Mniej więcej wiem jakich funckji użyć. Gorzej to napisać.
Jeśli ktoś umie z głowy to bardzo proszę o pomoc smile.gif
Go to the top of the page
+Quote Post
mike
post 1.03.2006, 15:35:36
Post #4





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


galeries.txt
Kod
folder
inny_folder
jakiś/ukryty/folder


Do tego w kolejności:
1. file() - ładujesz nazwy do tablicy
2. array_rand() - losujesz nazwę
3. Masz folder więc przeglądasz jego zawartość ładując do tablicy. Pytanie jak poskutkuje moim skokiem tętna, bo na forum znajdziesz tysiąc sposobów "jak?" to zrobić tongue.gif
4. array_rand() - losujesz obrazek z tablicay obrazków
smile.gif
Go to the top of the page
+Quote Post
Aklim...
post 5.03.2006, 16:35:43
Post #5





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 6.07.2005

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


Ok, mam takie coś:
  1. <?php
  2.  
  3. if (file_exists('./includes/screen_katalogi.txt') && is_readable('./includes/screen_katalogi.txt'))
  4. {
  5. $katalogi = file("./includes/screen_katalogi.txt");
  6. $katalog = array_rand($katalogi);
  7. $handle = opendir($katalog.'/'); // zaczepienie
  8. while ($file = readdir($handle)) // petla
  9. {
  10. $file_type = strrchr($file, ".");
  11. $is_image = eregi("jpg|gif|png|jpeg",$file_type);
  12. if (($file != '.') && ($file != '..') && $is_image) // kropki niewidoczne
  13. {
  14. $i++; // dopisywanie do zmiennej $i warosci plus one
  15. $array[$i] = $file; // tworzenie tablicy tyle ile jest plikow w galeri
  16. }
  17. }
  18. $count = count($array); // zliczanie plikow w galerii
  19. $wylicz = rand(1, $count); // losowanie
  20. $screen_zdjecie = $array[$wylicz]; // wyliczanie...
  21. $screen_katalog = $katalog;
  22. }
  23. else
  24. {
  25. $screen_zdjecie = 'blad_niema.jpg';
  26. $screen_katalog = '.';
  27. }
  28. ?>


plik screen_katalogi.txt:
Cytat
galeria/screeny/1
galeria/screeny_poboczne/360


wyswietlanie ( {SCREEN_KATALOG} i {SCREEN_ZDJECIE) zastępowane są przez zmienne $screen_zdjecie i $screen_katalog):
  1. <a href="{SCREEN_KATALOG}/{SCREEN_ZDJECIE}">
  2. <img scr="{SCREEN_KATALOG}/miniaturki/{SCREEN_ZDJECIE}">
  3. </a>


nie działa... i nie mogę podać błędu, bo działa to całkiem losowo - raz, że katalogu nie może otworzyć, raz, że jakiegoś 0/ czasem 1/, albo r/ itd, czasem ładuje się bez błędu, ale nie wyświetla się miniaturka jak ma się wyświetlać....
katalogi i miniturki istnieją.
gdzie błąd? sadsmiley02.gif

Ten post edytował Aklim... 5.03.2006, 16:41:20
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 Wersja Lo-Fi Aktualny czas: 15.06.2025 - 23:44