Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Losowe generowanie stron według procentów
arek50
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.11.2006

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


Mam pewien pomysł i mam krótki skrypt generujący losowo stronę ineternetową.

  1. <?php
  2. //tabela adresów serwerów
  3. $serwery=array('http://www.onet.pl', 'http://www.wp.pl', 'http://www.interia.pl');
  4. //losowanie numeru serwera
  5. $nr=rand(0, count($serwery)-1);
  6. //przekierowanie na wybrany serwer
  7. header("Location: $serwery[$nr]");
  8. ?>


Jak go przerobić, aby generował strony według procentów- 45% onet, 35% wp i 20 interia?
To samo mogę w przyszłości zaimplementówać do banerów, ale jak to przerobić.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
UDAT
post
Post #2





Grupa: Zarejestrowani
Postów: 442
Pomógł: 0
Dołączył: 27.12.2005

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


  1. <?php
  2. $serwery=array('http://www.onet.pl'=>30, 'http://www.wp.pl'=>20, 'http://www.interia.pl'=>11);
  3.  
  4. $x = rand ( 0, array_sum ( $serwery ) );
  5. $c = 0;
  6.  
  7. foreach ( $serwery as $nazwa => $proc ) {
  8. $c += $proc;
  9.  
  10. if ( $c <= $x ) {
  11. echo $nazwa;
  12. break;
  13. }
  14. }
  15. ?>
Go to the top of the page
+Quote Post
mike
post
Post #3





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

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


A nie lepiej tak:
  1. <?php
  2.  
  3. $arrTab1 = array_fill( 0, 44, 'http://www.onet.pl' );
  4. $arrTab2 = array_fill( 45, 79, 'http://www.wp.pl' );
  5. $arrTab3 = array_fill( 80, 99, 'http://www.interia.pl' );
  6.  
  7. $arrTab = $arrTab1 + $arrTab2 + $arrTab3;
  8.  
  9. shuffle( $arrTab );
  10.  
  11. echo $arrTab[ 0 ];
  12.  
  13. ?>
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


mike_mech: Wow -- genialnie proste.

Kiedys napisalem ladny skrypcik ale gdzies go wcielo po reinstalce systemu.
A czy nie prosciej array_rand() gdy wyciagasz TYLKO jedna strone - po wyborze strony nastepuje przekierowanie na nia i koniec skryptu.
Go to the top of the page
+Quote Post
mike
post
Post #5





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

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


Cytat(dr_bonzo @ 13.11.2006, 11:20:03 ) *
mike_mech: Wow -- genialnie proste.
Mówisz poważnie?
Przeciez to nic nadzwyczajnego :|

Kiedys napisalem ladny skrypcik ale gdzies go wcielo po reinstalce systemu.
Cytat(dr_bonzo @ 13.11.2006, 11:20:03 ) *
A czy nie prosciej array_rand()
Można.
Zresztą różnica pomiędzy array_rand() a shuffle() w tym przypadku nie będzie duża.
Go to the top of the page
+Quote Post
arek50
post
Post #6





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 13.11.2006

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


A JAK ZROBIĆ, ABY TE STRONY SIĘ ŁADOWAŁY WŁAŚNIE W TAKICH PROPORCJACH NA EKRAN KOMPUTERA?
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


mike_mech: powaznie; ja kombinowalem z przeliczaniem podanych proporcji (nie musialy sie uzupelniac do 100%); tworzeniem ruletki i losowaniem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


arek50:
Potnij sobie ekran monitora w takich wlasnie proporcjach i na kazdym wyswietl inna strone.

Przeciez uzywasz przekierowania -- zostanie wyswietlona TYLKO jedna strona i na tym skrypt sie zakonczy.
Go to the top of the page
+Quote Post

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: 24.08.2025 - 14:38