创建随机字符唯一 URLS
Creating random character unique URLS
如何为数据库中记录的页面 URL 生成随机 12 个字符的字符,就像 youtube 如何使用 11 个字符 https://www.youtube.com/watch?v=kDjirnJcanw
我希望它对于数据库中的每个条目都是唯一的,并且由大小写字母、数字和可能(如果对安全性不坏的话)甚至特殊字符组成。
函数:
function generateRandomString($length = 12) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
然后调用它:
$randomString = generateRandomString();
Slightly adapted from Stephen Watkins' solution here
这是一种非常幼稚的方法,但您可以定义一组允许的字符,并且只是随机 select N:
function randomString($length) {
$string = '';
$characters = "123456789abcdefghijklmnopqrstuvwxyzABCDEFHJKLMNPRTVWXYZ";
$randMax = strlen($characters)-1;
for ($i = 0; $i < $length; ++$i) {
$string .= $characters[mt_rand(0, randMax)];
}
return $string;
}
如何为数据库中记录的页面 URL 生成随机 12 个字符的字符,就像 youtube 如何使用 11 个字符 https://www.youtube.com/watch?v=kDjirnJcanw
我希望它对于数据库中的每个条目都是唯一的,并且由大小写字母、数字和可能(如果对安全性不坏的话)甚至特殊字符组成。
函数:
function generateRandomString($length = 12) {
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$charactersLength = strlen($characters);
$randomString = '';
for ($i = 0; $i < $length; $i++) {
$randomString .= $characters[rand(0, $charactersLength - 1)];
}
return $randomString;
}
然后调用它:
$randomString = generateRandomString();
Slightly adapted from Stephen Watkins' solution here
这是一种非常幼稚的方法,但您可以定义一组允许的字符,并且只是随机 select N:
function randomString($length) {
$string = '';
$characters = "123456789abcdefghijklmnopqrstuvwxyzABCDEFHJKLMNPRTVWXYZ";
$randMax = strlen($characters)-1;
for ($i = 0; $i < $length; ++$i) {
$string .= $characters[mt_rand(0, randMax)];
}
return $string;
}