生成随机的字母数字字符串到.txt文件

时间:2015-11-20 07:57:46

标签: php

我想创建一个包含25个字母数字字符的随机字符串,当通过cron运行时,会将结果打印到key.txt文件。

最好的方法是什么?谢谢。

3 个答案:

答案 0 :(得分:1)

有大量的教程,一个可能的解决方案(出于学习目的,那就是):

$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
// alternatively: implode('', array_merge(range(0,9),range('a', 'z'), range('A', 'Z')));
$length = 25;
$string = '';
for ($i = 0; $i < $length; $i++)
    $string .= $chars[rand(0, strlen($chars) - 1)];
// save it to a file
file_put_contents("key.txt", $string);

答案 1 :(得分:0)

只要关于如何生成随机字符串的圣经,我就能给你答案,但是你要读它们并对自己说:&#34;嗯,这很糟糕。&#34;。因此,我会简短地说明这一点。

// Generate random string
$randomString = uniqid();

这种方式不必长度为25个字符,因为生成的字符串始终是唯一的,并且是完美的密钥或文件名。

有关详细信息,请查看uniqid()上的PHP Manual

答案 2 :(得分:0)

这很容易解决您的问题。
通过你的长度变量来定义输出的长度。

function random_string( $length = 25 ) {
    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $password = substr( str_shuffle( $chars ), 0, $length );
    return $password;
}

PS。它并不保证每个输出的唯一性。