Re: what's wrong with this while loop?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



What's wrong with the while loop ?
You mean besides the fact that you are accessing an array and not specifying the index ?

$rand_key[] = $key_chars{$rand_pos};

Other than that, saying te result is strange is not good enough.
If you want help, you have to be more specific.
As to the "50 million question", it depends on the quality of the random number generator, but a fair guess is yes.



bo wrote:

Following my code is to write a 15digit random generated password into a file named test.txt. I was trying to keep it random generating 100 passwords and be written into test.txt by using a while loop, however, the result is strange.

Take a look at the code (most of it is from php.net) and what's wrong with this while loop? besides, if I generate a large sum of passwords,say 50 million, will it be repetitive?
Thank you!


<?php
/*
<meta HTTP-EQUIV="REFRESH"
content="1; url=http://svr/rand.php";>
*/

$length    = 15;
$sum       = 100;
$key_chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$rand_max  = strlen($key_chars) - 1;
$filename  = 'test.txt';

$tot=0;
while($tot < $sum){
for ($i = 0; $i < $length; $i++){

  $rand_pos  = rand(0, $rand_max);
  $rand_key[] = $key_chars{$rand_pos};
}


$rand_pass = implode('', $rand_key);
$somecontent = "$tot $rand_pass\n";
echo $somecontent;


$filename = 'test.txt';

// Let's make sure the file exists and is writable first.
if (is_writable($filename)) {

  // In our example we're opening $filename in append mode.
  // The file pointer is at the bottom of the file hence
  // that's where $somecontent will go when we fwrite() it.
  if (!$handle = fopen($filename, 'a')) {
        echo "Cannot open file ($filename)";
        exit;
  }

  // Write $somecontent to our opened file.
  if (fwrite($handle, $somecontent) === FALSE) {
      echo "Cannot write to file ($filename)";
      exit;
  }

  echo "Success, wrote ($somecontent) to file ($filename)";

  fclose($handle);

} else {
  echo "The file $filename is not writable";
}

$tot++;
}

?>


-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

[Index of Archives]     [PHP Home]     [PHP Users]     [PHP Database Programming]     [PHP Install]     [Kernel Newbies]     [Yosemite Forum]     [PHP Books]

  Powered by Linux