Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Jak zrobić szablon z samoaktualizującą się stopką, Jakieś ciekawe pomysły?
AboutMe
post
Post #1





Grupa: Zarejestrowani
Postów: 261
Pomógł: 0
Dołączył: 24.02.2008

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


Witam,

Czy ktoś ma jakiś ciekawy pomysł na samoaktualizującą się stopkę w szablonie? Najprościej jest dać bezpośredni readfile, ale to głupi pomysł.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
quality
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Ja napisalem sobie wlasna klase losujaca w zaleznosci od adresu url:

  1. class Admin_File_Random{
  2.  
  3. private $x;
  4. private $max;
  5. private $g=75;
  6. private $n=65537;
  7.  
  8. public function __construct($seed,$max){
  9. $seed = hexdec(substr(md5($seed),0,5));
  10. $this->x=bcmod($seed,$this->n);
  11. $this->max=$max;
  12.  
  13. }
  14.  
  15. public function rand(){
  16. $y=$this->g*$this->x;
  17. $this->x=bcmod($y,$this->n);
  18. return floor($this->max*$this->x/$this->n);
  19. }
  20.  
  21. public function randHow($ile){
  22. if($ile>$this->max)
  23. {
  24. throw new Exception('Liczba wylosowanych liczb przekracza liczbe maksymalna');
  25. }
  26. $tabRand = array();
  27. $d = "0";
  28. for($i="1"; $i<=$ile; $i++)
  29. {
  30. $y[$i]=($this->g+$i*10)*$this->x;
  31. $this->x=bcmod($y[$i],$this->n);
  32. $number = floor($this->max*$this->x/$this->n);
  33.  
  34. if(in_array($number, $tabRand))
  35. {
  36. $i--;
  37. $this->g = $this->g + 1;
  38. $this->n = $this->n + 3;
  39. } else {
  40. $tabRand[] = $number;
  41. }
  42. }
  43. return $tabRand;
  44. }
  45. }


W konstruktorze $seed - adres url, $max - maxymalna wylosowana liczba.
Nastepnie wywolujesz metode rand() - zwraca jedna liczbe, albo randHow() - zwraca tablice wysolosowanych wartosci, jako parametr ilosc liczb do wylosowania.

Funkcja ta jest o tyle dobra ze dla kazdego adresu generuje te same liczby. Takze tutaj rozwiazany problem z google (IMG:style_emoticons/default/smile.gif) Na konkretnym adresie mamy te same linki, na kazdej podstronie inne.
Jesli jakies pytania prosze pytac.

Pozdrawiam Adrian
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 18:44