Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 要使我的URL唯一_Php_Yii - Fatal编程技术网

Php 要使我的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 1中有一些控制器。我需要在创建URL时对其格式进行最小的更改

现在我有了这样一个例子:

<?=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);
?>