首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >创建随机字符唯一URLS

创建随机字符唯一URLS
EN

Stack Overflow用户
提问于 2015-06-04 16:36:45
回答 2查看 252关注 0票数 0

如何为数据库中记录的页面URL随机生成12个字符字符(如youtube如何使用11个字符https://www.youtube.com/watch?v=kDjirnJcanw )

我希望它对数据库中的每个条目都是唯一的,包括大写字母和小写字母,数字,甚至特殊字符(如果不是安全性不好的话)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-04 16:41:44

功能:

代码语言:javascript
运行
复制
function generateRandomString($length = 12) {
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < $length; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $randomString;
}

那就叫它:

代码语言:javascript
运行
复制
$randomString = generateRandomString();

Slightly adapted from Stephen Watkins' solution here

票数 2
EN

Stack Overflow用户

发布于 2015-06-04 16:43:54

这是一种非常天真的方法,但您可以定义一个允许的字符数组,并随机选择N:

代码语言:javascript
运行
复制
function randomString($length) {
   $string = '';
   $characters = "123456789abcdefghijklmnopqrstuvwxyzABCDEFHJKLMNPRTVWXYZ";
   $randMax = strlen($characters)-1;

   for ($i = 0; $i < $length; ++$i) {
       $string .= $characters[mt_rand(0, randMax)];
   }

   return $string;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30649454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档