Php 要使我的URL唯一
伙计们!我请求帮助 我的Yii 1中有一些控制器。我需要在创建URL时对其格式进行最小的更改 现在我有了这样一个例子:Php 要使我的URL唯一,php,yii,Php,Yii,伙计们!我请求帮助 我的Yii 1中有一些控制器。我需要在创建URL时对其格式进行最小的更改 现在我有了这样一个例子: <?=Yii::app()->createUrl('/shop-'.$model->id.'-'.$uid.'-'.$model->uid);?> Web: site.com/shop-200-181-180 等等 我想补充一下 rand(0, 100000) 此输出: <?=Yii::app()->createUrl('/sho
<?=Yii::app()->createUrl('/shop-'.$model->id.'-'.$uid.'-'.$model->uid);?>
Web: site.com/shop-200-181-180
等等
我想补充一下
rand(0, 100000)
此输出:
<?=Yii::app()->createUrl('/shop-'.$model->id.'-'.$uid.'-'.$model->uid);?>
应该保持不变
我的控制器代码是:
:(
请帮我做这个!
谢谢你的帮助
谢谢尝试以毫秒为单位使用当前日期时间,而不是随机数
<?=Yii::app()->createUrl('/shop-'.$model->id.'-'.$uid.'-'.$model->uid.'-'.round(microtime(true) * 1000));?>
使用PHP的uniqid函数 它不是唯一的100%,但比简单的兰德更好
<?php
$sId = uniqid("{$model->id}-{$uid}-", true);
echo Yii::app()->createUrl('/shop-' . $sId);
?>
使用随机数并不能保证唯一性。我理解这一点,但随机数是唯一性的最简单方法。我以前做过所有检查。我知道php和Yii不好,所以我必须正确地将其放入代码中。“随机数是唯一性的最简单方法”。随机数不是唯一的。
<?php
$sId = uniqid("{$model->id}-{$uid}-", true);
echo Yii::app()->createUrl('/shop-' . $sId);
?>