# Интернет > Web-программирование > PHP >  Генератор паролей

## bobuch

Собрал из нескольких скриптов генератор паролей:

<?php
Error_Reporting(E_ALL & ~E_NOTICE);
  function generatePassword($length = 10)
   {
     $chars = '0123456789';
     $numChars = strlen($chars);
     $string = '';
    for ($i = 0; $i < $length; $i++)
     {
      $string .= substr($chars, rand(1, $numChars) - 1, 1);
     }
    return $string;
   }
   $cont = (generatePassword(10));
   $f=fopen("list.txt", "a");
   $text="\n".$cont;
   fputs($f, $text);
   fclose($f);
   echo "Сгенерирован пароль: ". generatePassword(10) ."";
?>

если функцию запихнуть в цикл for или while, вылезает ругань:
"Cannot redeclare generatepassword() (previously declared in z:\home\test\www\pg\passg.php)". нужно порядка нескольких миллионов паролей, а обновлять страницу через <META HTTP-EQUIV='Refresh' Content='1; URL=passg.php'> долго и глупо. полночи ковыряюсь на последних мозгах и понять не могу....

кто-нить может подсказать принцип "зацикливания" в данном случаеИ?

Заранее благодарен за ответ ;-)

----------


## kelvin

```
$a="w1"; $b="f2"; $c="g3"; $d="h4"; $e="u5"; $f="z6";
$ip=getenv("REMOTE_ADDR");
$t=time(d);
$t=$t/10;
$strx=explode(".",$t);
$stx=1+$strx[1];
$strx=11-$strx[1];
$nip=explode(".",$ip);
$aip=$nip[0]*$nip[1]*$stx;
$bip=$nip[2]*$nip[3]*$strx;
$cip=($aip*$bip)/3;
$xip=explode(".", $cip);
$xip=$xip[0]/10;
$x=explode("1", $xip);
$y=$x[0].$a.$x[1];
$x=explode("2", $y);
$y=$x[0].$b.$x[1];
$x=explode("3", $y);
$y=$x[0].$c.$x[1];
$x=explode("4", $y);
$y=$x[0].$d.$x[1];
$x=explode("5", $y);
$y=$x[0].$e.$x[1];
$x=explode("6", $y);
$y=$x[0].$f.$x[1];
$pass = $strx.$y.$stx;
```

не идеален конечно.. 
надо как-то кол-во символов уравнять..
//может подскажет кто?!

----------


## kelvin

> Собрал из нескольких скриптов генератор паролей:
> .......
> а обновлять страницу через <META HTTP-EQUIV='Refresh' Content='1; URL=passg.php'> долго и глупо.


через 0* сделай, и все пойдет!!

---
* <META...

----------

