Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] rotację jak zrobić
-nick-
post
Post #1





Goście







  1. <?php
  2. if ($rot)
  3. {
  4. $text = $m . "/" . $rot . ".php";
  5.  
  6. if (file_exists($text))
  7. {
  8. include($text);
  9. }
  10. else
  11. include("rotacja.php");
  12. }
  13. ?>



mam coś takiego - czyli jeśli użytkowniuk kliknie odnośik - to pojawi mu się to co wybierze,
a w przeciwny wypadku wczytany zostanie plik rotacja.php


i teraz pytanie do Was:
ja najlepiej osiągnąć mój cel, którym jest

- użytkownik ma do wyboru opisy ($rot) ale na dzień dobry ma mu sie poajwić jeden - losowany przypadkowo

opisy znajdujdować mogą się, albo w osobnych plikach *.html (są to 1-5 zdjęć + krótki opis), albo w osobnych katalogach - osobno fotki i osobno opisy w plikach *.txt
póki co wydaje mi się, że stworzyć *.html to nie problem - bo tych opisów nie bedzie mnóstwo, a do tego jestem lajkonikiem w php, więc łatweij mi bedzie "rotować" gotowe pliki html, niz wybierać katalogi tworzyć jeszcze na podstawie ilości zdjęć dodatkowego pliku...

I tutaj ostateczna prośba:
czy możecie mi pomóc - tzn jak napisac taki plik do losowego wyboru pliku html do wczytania (wszystkie plik *.html będą w jednym katalogu, wiec nie będzie potzreby wybierania, czy dany plik jest z opisem, czy moze jakiś jeszcze inny)


czy stworzyć do tego osobny plik "rotacja.php"
czy może miast:

  1. <?php
  2. else
  3. include("rotacja.php");
  4. ?>


zrobić jakąś funkcję:
  1. <?php
  2. else
  3. tutaj funkcja do rozwiązania mojego problemu...;
  4. ?>
Go to the top of the page
+Quote Post
Bartech
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


Nie podam tutaj gotowego rozwiązania ale podpowiem że należy zaznajomić się z następującymi funkcjami:

opendir - tworzy uchwyt do folderu
readdir - czyta po kolei pliki w folderze (należy użyć jej przy pomocy pętli while)
closedir - zamyka ucwyt do pliku
rand - generowanie liczyby losowej w zakresie od-do

Założenie jest następujące:
1. otwórz folder
2. policz ile jest elementów (uwaga funkcja readdir za elementy uznaje również '.', '..' czyli powroty)
3. odpal generowanie liczby losowej w zakresie od 1-liczba elementów w folderze
4. odpal readdir przez funkcję for i w momencie gdy funkcja osiągnie liczbę wygenerowaną przez rand, zainkluduj plik...

MAM NADZIEJĘ ŻE SOBIE PORADZISZ...
jakby co postaram się coś napisać...


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Rozumiem, że mi proponujesz w katalogu posiadać gotwe *.html i je wczytywać, tak?
zabieram się więc do pracy - jak znam życie wrócę si dopytywać winksmiley.jpg
dzięki za info - a plik jak mi polecasz dodać: jako osobny rotacja.php (inkludowany), czy jako funkcję to napisać??
czy ma to w ogóle jakikolwiek znaczenie...questionmark.gif
Go to the top of the page
+Quote Post
Bartech
post
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


Zdecydowanie INCLUDE... ale nie ładuj całej stuny a jedynie ten fagment który się różni w ten sposób, w przyszłości jak będziesz wprowadzał zmiany do ogólnego zarysu strony oszczędzisz sobie sporo czasu, co do funkcji to najpierw zrób całość na żywca a jak będzie działało to ten mechanizm nazwij funkcją i schowaj sobie w jakimś pliku z funkcjami, to będziesz miał pożądek w kodzie...


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
vip3r
post
Post #5





Grupa: Zarejestrowani
Postów: 162
Pomógł: 0
Dołączył: 28.11.2006
Skąd: 2322

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


Tutaj mam napisany skrypt rotacji bannerow;
  1. <?
  2. $bannery = file ("dane/bannery.txt", "r");
  3. $bannery = chop($bannery[rand()%count($bannery)]);
  4. print "$bannery";
  5. ?>
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: 19.08.2025 - 03:43