Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> losowy kod
vtuner
post 16.11.2005, 16:39:10
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


jak zrobic aby co wejscie na strone inny kod się wyswietlal tzn losowy smile.gif
Go to the top of the page
+Quote Post
ghostrider
post 16.11.2005, 16:44:54
Post #2





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


nie bardzo wiadomo o co ci chodzi, ale kiedys napisałem taka func.

  1. <?php
  2. function str_rand( $length=32 ) {
  3. $l = ($length > 32) ? 32 : $length;
  4. $str = md5(rand(0,mktime()));
  5. $c = 32 - $length;
  6. $s = rand(0, $c);
  7. return substr($str, $s, $l);
  8. }
  9. ?>


Ten post edytował ghostrider 17.11.2005, 10:58:49


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
kornelcio
post 16.11.2005, 16:45:51
Post #3





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 19.12.2004
Skąd: Sanok

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


  1. <?php
  2.  
  3. function gen_string($long = 8){
  4.     $arr[0] = range(0, 9);
  5.     $arr[1] = range('a', 'z');
  6.     $array = array_merge($arr[0], $arr[1]);
  7.     shuffle($array);
  8. $string = '';
  9.     for ($i = 0; $i < $long; $i++){
  10.         $string .= $array[$i];
  11.     }
  12.     return $string;
  13. }
  14.  
  15. ?>


EDIT: spóźniłem się biggrin.gif

Ten post edytował kornelcio 16.11.2005, 16:47:14
Go to the top of the page
+Quote Post
vtuner
post 16.11.2005, 16:46:31
Post #4





Grupa: Zarejestrowani
Postów: 220
Pomógł: 10
Dołączył: 23.08.2005
Skąd: Łódź

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


nie juz wiem wystarczy uzyc rand()
tylko nie wiem jak zrobic zeby wyswietlam minimum 4 cyfry

Ten post edytował vtuner 16.11.2005, 16:47:15
Go to the top of the page
+Quote Post
kornelcio
post 16.11.2005, 16:53:38
Post #5





Grupa: Zarejestrowani
Postów: 39
Pomógł: 0
Dołączył: 19.12.2004
Skąd: Sanok

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


przy mojej funkcji (może funkcja ghostrider'a jeste lepsza, nie wiem) wywołujesz ją: gen_string(10) - podajesz jeden parametr, czyli długość stringu, ale każda litera może zostać użyta tylko raz, czyli nie może być stringu aa :]
Go to the top of the page
+Quote Post
shpyo
post 17.11.2005, 10:17:26
Post #6





Grupa: Zarejestrowani
Postów: 574
Pomógł: 2
Dołączył: 13.04.2004
Skąd: Lublin

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


Nie można by tutaj wykorzystać unikalnego numeru sesji?
Przecież odwiedzający stronę dostaje swój unikalny 32-znakowy ID smile.gif

Po co się bawić w generowanie jakiś tam stringów, skoro mogą się powtórzyć?


--------------------
Go to the top of the page
+Quote Post
ghostrider
post 17.11.2005, 10:35:40
Post #7





Grupa: Zarejestrowani
Postów: 135
Pomógł: 0
Dołączył: 30.09.2005
Skąd: k-rk

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


można użyć identyfikatora sesji, czemu nie
mozna też tak:

  1. <?php
  2. $str = uniqid(md5(rand()));
  3. ?>


i też rozwiązanie

  1. <?php
  2. while (loop(5)) {
  3. $tmp[] = uniqid(md5(rand()));
  4. }
  5. $un = array_unique($tmp);
  6. print count($tmp) . "|" . count($un) . "n";
  7. ?>


w ciagu 5 sekund wygenerowałem 74205 unikalnych identyfikatorów, żaden sie nie powtórzył. (loop() to funkcja której uzywam zeby wykonywać skrypt przez dany okres czasu, a nie okresloną ilośc razy, konieczna przy okreslaniu wydajności)

Ten post edytował ghostrider 17.11.2005, 10:39:38


--------------------
There are 10 types of people in the world:
-Those who understand binary, and those who don't...
There's no place like 127.0.0.1
Go to the top of the page
+Quote Post
dtb
post 17.11.2005, 11:44:41
Post #8





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


ale kombinujeie, nie wystarczy tak ?:

  1. <?php
  2. $code = array ('text1', 'text2', 'text3');
  3. echo $code[rand (0, sizeof ($code)-1)];
  4. ?>


natomiast jeżeli chcesz aby wykonało losowy kod php, to użyj eval() zamiast echo


--------------------
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: 14.06.2025 - 17:30