Php 为每个用户生成随机唯一代码
我想知道如何在PHP和SQL中为每个用户生成唯一的随机代码。此代码将用于用户网页的url 例如,网站使用urlhttps://www.blablacar.fr/user/show/random-unique-code-for-each-user 访问该用户的配置文件 我想我应该使用Php 为每个用户生成随机唯一代码,php,mysql,laravel,Php,Mysql,Laravel,我想知道如何在PHP和SQL中为每个用户生成唯一的随机代码。此代码将用于用户网页的url 例如,网站使用urlhttps://www.blablacar.fr/user/show/random-unique-code-for-each-user 访问该用户的配置文件 我想我应该使用uniqidphp函数并将其存储在数据库中。但我不知道有没有更好的办法 非常感谢您的帮助。可以使用str\u Random(length)函数生成随机代码。您可以生成随机代码并将当前时间戳附加到该字符串。我认为这是唯一
uniqid
php函数并将其存储在数据库中。但我不知道有没有更好的办法
非常感谢您的帮助。可以使用
str\u Random(length)
函数生成随机代码。您可以生成随机代码并将当前时间戳附加到该字符串。我认为这是唯一的。您可以使用当前时间生成唯一的字符串
$unique = sha1(time);
,
ramsey/uuid是一个PHP5.4+库,用于生成和使用RFC
4122版本1、3、4和5通用唯一标识符(UUID)
dafult使用这个包在laravel框架中生成uniqueid。如果您使用的是laraveluniqid()
函数将为您提供所需的唯一id,自定义:
function generateRandomStr($length = 8) {
$UpperStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
$LowerStr = "abcdefghijklmnopqrstuvwxyz";
$symbols = "0123456789";
$characters = $symbols.$LowerStr.$UpperStrl;
$charactersLength = strlen($characters);
$randomStr = null;
for ($i = 0; $i < $length; $i++) {
$randomStr .= $characters[rand(0, $charactersLength - 1)];
}
return $randomStr;
}
echo generateRandomStr(8).generateRandomStr(8);
function generateRandomStr($length=8){
$UpperStr=“abcdefghijklmnopqrstuvxyz”;
$LowerStr=“abcdefghijklmnopqrstuvxyz”;
$symbols=“0123456789”;
$characters=$symbols.$LowerStr.$UpperStrl;
$charactersLength=strlen($characters);
$randomStr=null;
对于($i=0;$i<$length;$i++){
$randomStr.=$characters[rand(0,$charactersLength-1)];
}
返回$str;
}
echo GeneratorAdomStr(8),GeneratorAdomStr(8);
或者使用你可以利用的。如Laravel所述,使用该软件包
PHP5.4+库,用于生成RFC4122版本1、3、4和5通用唯一标识符(UUID)
因此,您可以导入包并使用其函数生成UUID
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\Exception\UnsatisfiedDependencyException;
public function yourMethod()
{
try {
// Generate a version 1 (time-based) UUID object
$uuid1 = Uuid::uuid1();
echo $uuid1->toString() . "\n"; // i.e. e4eaaaf2-d142-11e1-b3e4-080027620cdd
} catch (UnsatisfiedDependencyException $e) {
echo 'Caught exception: ' . $e->getMessage() . "\n";
}
}
附言:
Taylor Otwell发布了关于是否将UUID函数包含到Str类中的问题。您可以使用该函数生成唯一id
base_convert ( string $number , int $frombase , int $tobase )
请参见此处的示例代码:可能重复的维护表,增量为0000001,在创建获取最后一个id时,添加一个(+1),并在上面的表中插入新值,并使用该id创建用户。100%唯一性这是一个包,您可以解决问题,而无需制作另一个唯一id