是否可以将url中的路径utf-8转换为php中固定且简短的唯一ID?
我每次都想要,结果一样。
例如:
questions/صصثبصث/ask?q=asd$a=سیبث
变成这样:34Sdd6N
答案 0 :(得分:1)
当我们谈论性能时,CRC32是最合适的选项。如果您将MySQL / MariaDB用作DBMS,则可以创建带有INT
标志的UNSIGNED
列,并且它将每个地址仅以4个字节完全存储CRC32结果。
PHP具有crc32
函数,该函数可以接受字符串并且散列效果很好,因此您不必真正关心重复项。
如果您想在不影响数据库性能的情况下将ABCDEF字母添加到哈希中,并且也可以使用dechex
将其转换回去,还可以在CRC32结果周围添加hexdec
包装器。
答案 1 :(得分:0)
将url保存在数据库表中,并将“代码”列或其他类似的名称添加到table中。您可以为每个插入网址添加随机字符串,并使用此代码获取网址。绝不使用重复的代码。
答案 2 :(得分:0)
您要询问的基本上是哈希。在php中也有一些可用于散列的函数。 here提供了一种这样的功能。希望您会发现它有用。