php - 如何在 php 中为图像(像 imgur.com)生成一个唯一的 url?

标签 php image

<分区>

Possible Duplicate:
PHP: How to generate a random, unique, alphanumeric string?

试图得到像 http://imgur.com/t4Syk 这样的东西 我们知道 imgur 对图像使用 5 区分大小写的字符串。怎么做?

最佳答案

您可以只使用您的 auto_increment 图片 ID,例如转换为 base58 (a-zA-Z0-9)。

base_convert 最多可以转换为 base36:

$id = base_convert(123456789, 10, 36); // "21i3v9"

(另见 PHP - How to base_convert() up to base 62 )

如果您想要不可预测的图像 ID,请查看 this answer


对于 MongoDB ID(因为您正在使用 MongoDB):

id 是 12 字节的数字,编码为 base16,这使它们成为 24 字节。

您可以通过将它们从 base16 转换为 base58 来压缩到 17 个字节:

gmp_strval(gmp_init("47cc67093475061e3d95369d", 16), 58)); // "1KXotnQBQbcPmeOo9"

另请查看 Sequence Numbers 部分 here 。这将允许您为图像生成更小的唯一编号。

关于php - 如何在 php 中为图像(像 imgur.com)生成一个唯一的 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7455664/

相关文章:

php - 我应该在我的 php 项目中使用 `DateTimeInterface` 吗?

php - jQuery/PHP/MySQL 提交隐藏的选择下拉列表

java - 将像素从图像复制到网络摄像头

asp.net - 在 ASP.Net 中突出显示图像上的区域

php - 仅更新 MySQL 中重复条目的第一条记录

php - $result mysql_query() 困难

php - 在 PHP 中循环并更新 sql 表的每一行

安卓 ||位图图像的旋转

c++ - opencv多 channel 元素访问

.net - 如何确定一个文件是否是.NET 中的图像文件?