<?php
/*
***************************************************************************
* Function str_rand(), used to generate a random string of the characters *
* you specify, with a length of your choice. *
* Copyright (C) 2004 The Celestial Celebi *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU General Public License as published by the *
* Free Software Foundation; either version 2 of the License, or (at your *
* option) any later version. *
* This program is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* You should have received a copy of the GNU General Public License along *
* with this program; if not, write to the Free Software Foundation, Inc., *
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************
*/
/*
***************************************************************************
* @function: str_rand(): Returns a random string, created from the *
* characters you specify. *
* @param $iLength (int): The length of the random string. *
* @param $bUseLowercase (bool): Use lowercase characters in the string? *
* @param $bUseUppercase (bool): Use uppercase characters in the string? *
* @param $bUseNumbers (bool): Use numbers in the string? *
* @return string: The random string of $iLength characters. *
*-------------------------------------------------------------------------*
* @started on: 23 June 2004 at 20:00:00 by The Celestial Celebi. *
* @last edited on: 23 June 2004 at 20:01:43 by The Celestial Celebi. *
* @constructs used: array, if, for, return. *
* @functions used: array_merge, count, rand, range. *
***************************************************************************
*/
function str_rand($iLength, $bUseLowercase, $bUseUppercase, $bUseNumbers)
{
if((!$bUseLowercase && !$bUseUppercase && !$bUseNumbers) || $iLength == 0)
{
trigger_error('Must use something to generate the string', E_USER_WARNING);
}
else
{
$aCharactersToChoose = array();
if($bUseLowercase)
{
$aCharactersToChoose = array_merge($aCharactersToChoose, range('a', 'z'));
}
if($bUseUppercase)
{
$aCharactersToChoose = array_merge($aCharactersToChoose, range('A', 'Z'));
}
if($bUsenumbers)
{
$aCharactersToChoose = array_merge($aCharactersToChoose, range(0, 9));
}
$iNumCharacters = (count($aCharactersToChoose) - 1);
$sRandomString = '';
for($i = 0; $i <= $iLength; $i++)
{
$sRandomString .= $aCharactersToChoose[rand(0, $iNumCharacters)];
}
return $sRandomString;
}
}
?>