Реклама на сайте Advertise with us

Подскажите скриптик

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

Любитель пивасика

С нами с 14.06.03
Сообщения: 741
Рейтинг: 242

Ссылка на сообщениеДобавлено: 11/12/04 в 02:27       Ответить с цитатойцитата 

Нужен простеньки скриптик а найти не могу мож есть у ко-го icon_smile.gif
вообщем есть списочек ссылок..нужно чтоб при нажатии дрон уходил в 20% на рандомную фхг..а остальные 80 на тдску...
P.S Сидж скрип не предлогать icon_smile.gif

0
 



С нами с 06.03.03
Сообщения: 1650
Рейтинг: 1096

Ссылка на сообщениеДобавлено: 11/12/04 в 02:38       Ответить с цитатойцитата 

держи. тока потесть, хотя вроде все правильно
Код:

<?php

$p=20;//percent to FHG
$tds_url='http://tds.com';//TDS url
$base_file='file.txt';//FHG list file

mt_srand(make_seed());

$randval = mt_rand(0,100);
if($randval<=$p)
{
   $u=file_get_contents($base_file);
   $u=explode("\n",$u);
   $randval = mt_rand(0,count($u)-1);
   header('location: '.trim($u[$randval]));
}
else header('location: '.$tds_url);

function make_seed() {
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
}

?>

0
 



С нами с 21.12.03
Сообщения: 119
Рейтинг: 166

Ссылка на сообщениеДобавлено: 11/12/04 в 03:49       Ответить с цитатойцитата 

не факт, что будет уходить 20% icon_smile.gif

ICQ: 283124524

1
 



С нами с 21.12.03
Сообщения: 119
Рейтинг: 166

Ссылка на сообщениеДобавлено: 11/12/04 в 04:18       Ответить с цитатойцитата 

уверен, что можно проще =))))
Код:

   function make_seed()
   {
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
   }
   function gen_txt2($p)
   {
     global $tmp_file2;
    $c  = 0;
    $c2 = 0;
    $p2 = 100-$p;
    while(($c + $c2) < 100)
    {
         mt_srand(make_seed());
         $randval = mt_rand(0,1);
      if($randval == 1 && $c < $p)
      {
        $str .= '1';
         $c++;
      }
      if($randval == 0 && $c2 < $p2)
      {
        $str .= '0';
         $c2++;
      }
    }
    $fp = fopen($tmp_file2, "w+");
    flock($fp, 2);
    fputs($fp, $str);
    flock($fp, 3);
    fclose($fp);
   }
   $p         = 20;              //percent to FHG
   $tds_url   ='http://tds.com'; //TDS url
   $base_file ='./file.txt';       //FHG list file
  $tmp_file1 ='./last1.tmp';      //Temp file n1
  $tmp_file2 ='./last2.tmp';      //Temp file n2
   $f = @fopen($tmp_file1,"a+");
   flock($f,LOCK_EX);
   rewind($f);
  $tmp = fgets($f);
   $par = explode("|",$tmp);
   if(intval($par[0]) != $p)
   {
    $cu = 0;
     gen_txt2($p);
   }
   else
   {
     $cu = intval($par[1]);
     if($cu == 100)
        $cu = 0;
   }
   ftruncate($f,0);
   fwrite($f,$p.'|'.($cu+1).'|');
   flock($f,LOCK_UN);
   @fclose($f);
  $str = @implode("",@file($tmp_file2));
  if(intval($str[$cu]) == 1)
  {
     $arr = file($base_file);
      mt_srand(make_seed());
      $randval = mt_rand(0,count($arr)-1);
     header('Location: '.trim($arr[$randval]));
  }
  else
  {
     header('Location: '.$tds_url);
  }

ICQ: 283124524

1
 

Любитель пивасика

С нами с 14.06.03
Сообщения: 741
Рейтинг: 242

Ссылка на сообщениеДобавлено: 11/12/04 в 15:40       Ответить с цитатойцитата 

Спасибо большое.+4 icon_smile.gif

0
 

Любитель пивасика

С нами с 14.06.03
Сообщения: 741
Рейтинг: 242

Ссылка на сообщениеДобавлено: 14/12/04 в 06:31       Ответить с цитатойцитата 

Подниму опять топик..
первый вариант с глюками работает (и ногда просто не открывает не одного урла)
а второй вообще не работает icon_sad.gif
где ошибка?..подскажите

0
 



С нами с 11.12.04
Сообщения: 99
Рейтинг: -344

Ссылка на сообщениеДобавлено: 14/12/04 в 10:59       Ответить с цитатойцитата 

Попробуй так:

Код:

function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}

$fhg = 20; // FHG percent
$tds_url = 'http://www.tds.com'; // TDS URL
$tmp_file = "file.tmp"; // temp file
$url_file = 'url.dat'; // urls file

if (!is_file($tmp_file)) // create if not exist
{
   if ($f = @fopen($tmp_file,'w+'))
    {
      flock($f,LOCK_EX);
      fputs($f,'0|0');
      fflush($f);
      flock($f,LOCK_UN);
      @fclose($f);
    }
}

$f = fopen($tmp_file,'r+');
flock($f,LOCK_EX);
list ($p1, $p2) = explode('|',trim(fgets($f)));
if ($p1+$p2==100) $p1 = $p2 = 0;
mt_srand(make_seed());
$l = 0;
do {
  $rnd = mt_rand(0,1);
  if ($rnd==0 && $p1<$fhg)
   {
     $l = 1; $p1++;
   } else
  if ($rnd==1 &&$p2<100-$fhg)
   {
     $l = 2; $p2++;
   }
} while ($l==0);
ftruncate($f,0);
rewind($f);
fputs($f,$p1."|".$p2);
fflush($f);
flock($f,LOCK_UN);
fclose($f);

if ($l==2)
{
   header('Location: '.$tds_url);
}
else
{
   $urls = file($url_file);
   $id = mt_rand(0,count($urls)-1);
   header('Location: '.trim($urls[$id]));
}


Урлы в url.dat: каждая в отдельной строке без пустых строк.

0
 



С нами с 21.12.03
Сообщения: 119
Рейтинг: 166

Ссылка на сообщениеДобавлено: 14/12/04 в 16:12       Ответить с цитатойцитата 

Rocket писал:
Подниму опять топик..
первый вариант с глюками работает (и ногда просто не открывает не одного урла)
а второй вообще не работает icon_sad.gif
где ошибка?..подскажите

ну не знаю ... у меня все работает ... icon_smile.gif

ICQ: 283124524

0
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »