Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowe generowanie stron według procentów
Forum PHP.pl > Forum > PHP
arek50
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ć.
UDAT
  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. ?>
mike
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. ?>
dr_bonzo
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.
mike
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.
arek50
A JAK ZROBIĆ, ABY TE STRONY SIĘ ŁADOWAŁY WŁAŚNIE W TAKICH PROPORCJACH NA EKRAN KOMPUTERA?
dr_bonzo
mike_mech: powaznie; ja kombinowalem z przeliczaniem podanych proporcji (nie musialy sie uzupelniac do 100%); tworzeniem ruletki i losowaniem 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.
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-2025 Invision Power Services, Inc.