如何生成随机php slug/url并插入数据库?

如何生成随机php slug/url并插入数据库?,php,random,slug,Php,Random,Slug,当用户点击提交按钮时,我想为每个帖子生成6个字符的随机url,比如ac7Lmn、uYoXo等 如果slug已经存在于数据库中,则生成另一个slug 我需要像youtube这样的短随机url“” 您最好的选择不是生成随机段塞,而是使用库对主键(id)的值进行编码 为什么??因为您消除了生成唯一字符串的问题。由于id已经是唯一的,只需将其发送给客户机即可。当您收到此字符串时,请对其进行解码。如果解码失败,则客户端提供的哈希ID无效 编码示例 解码示例 这种方法快速有效,您可以设置自己的自定义字母表

当用户点击提交按钮时,我想为每个帖子生成6个字符的随机url,比如ac7Lmn、uYoXo等

如果slug已经存在于数据库中,则生成另一个slug

我需要像youtube这样的短随机url“”


您最好的选择不是生成随机段塞,而是使用库对主键(id)的值进行编码

为什么??因为您消除了生成唯一字符串的问题。由于
id
已经是唯一的,只需将其发送给客户机即可。当您收到此字符串时,请对其进行解码。如果解码失败,则客户端提供的哈希ID无效

编码示例 解码示例 这种方法快速有效,您可以设置自己的自定义字母表进行编码


如果要生成唯一字符串,则需要处理唯一键和生成此唯一字符串的自定义算法。由于
id
始终是唯一的,所以您将重复MySQL为您所做的事情

你应该举一个迄今为止你所尝试的例子。请查看帮助中心有关如何编写好的问题(和答案)的文章。当您搜索“如何生成随机字符串php”时,没有找到任何内容?@VasilyLiaskovsky我不是来问如何编写好的问题的……我是来寻求帮助的
use Hashids\Hashids;

$hashids = new Hashids();

$hashids->encode(1);
use Hashids\Hashids;

$hashids = new Hashids();

$id = $hashids->encode(1); 
$number = $hashids->decode($id);