如何使用 php 生成一个随机字符串并且每天只生成一次?
How can I generate a random string using php and only once per day?
我有生成随机字符串的代码,但我只想每天生成一次随机字符串。
这是在每次页面加载时生成随机字符串的代码。我怎样才能做到这一点?
function random_string($length) {
$key = '';
$keys = array_merge(range(0, 9), range('a', 'z'));
for ($i = 0; $i < $length; $i++) {
$key .= $keys[array_rand($keys)];
}
return $key;
}
$sehiradi = "diyarbakir";
$subdomainadi = "$sehiradi."."".random_string(5);
您是否尝试过查看 php cookie 并将其存储到具有 ttl 1 天的 cookie 文件中?
我之所以这么说是因为你提到你不想将它存储在数据库中
由于您不想将此信息存储在数据库中,并且可能不想使用 cookie,因为它们是用户特定的,这里有一个不同的方法:
使用当前日期(仅日、月和年)作为随机数生成器的种子。
这将使它每天都在变化,并且对所有用户都是一样的,而无需保存任何数据。
您可以使用当前日期的哈希函数获得相同的结果。
$sehiradi.substr(sha1('someString'.date('Ymd')),0,5);
这对您有用,因为散列总是会为相同的输入带来相同的结果。每天,随着日期的变化,该函数将使用不同的输入值。
编辑:使用您的价值观,您可以拥有:
$sehiradi = "diyarbakir";
$subdomainadi = $sehiradi.substr(sha1('someString'.date('Ymd')),0,5);
请将 'someString' 替换为您想到的一些密钥。关键是让别人很难知道你的 "random" 字符串的来源。
我有生成随机字符串的代码,但我只想每天生成一次随机字符串。
这是在每次页面加载时生成随机字符串的代码。我怎样才能做到这一点?
function random_string($length) {
$key = '';
$keys = array_merge(range(0, 9), range('a', 'z'));
for ($i = 0; $i < $length; $i++) {
$key .= $keys[array_rand($keys)];
}
return $key;
}
$sehiradi = "diyarbakir";
$subdomainadi = "$sehiradi."."".random_string(5);
您是否尝试过查看 php cookie 并将其存储到具有 ttl 1 天的 cookie 文件中? 我之所以这么说是因为你提到你不想将它存储在数据库中
由于您不想将此信息存储在数据库中,并且可能不想使用 cookie,因为它们是用户特定的,这里有一个不同的方法:
使用当前日期(仅日、月和年)作为随机数生成器的种子。 这将使它每天都在变化,并且对所有用户都是一样的,而无需保存任何数据。
您可以使用当前日期的哈希函数获得相同的结果。
$sehiradi.substr(sha1('someString'.date('Ymd')),0,5);
这对您有用,因为散列总是会为相同的输入带来相同的结果。每天,随着日期的变化,该函数将使用不同的输入值。
编辑:使用您的价值观,您可以拥有:
$sehiradi = "diyarbakir";
$subdomainadi = $sehiradi.substr(sha1('someString'.date('Ymd')),0,5);
请将 'someString' 替换为您想到的一些密钥。关键是让别人很难知道你的 "random" 字符串的来源。