如何获得不同的唯一名称

时间:2017-04-25 06:12:42

标签: php

我需要在文件夹中重命名很多图像,即为它们指定唯一的名称。

$path = "../images/";
$items = glob($path . '*.jpg');
foreach($items as $img) { 

$old = substr($img, 3);
$new = 'images/' . uniqid() . '.jpg'; 
echo $new . '<br>';

结果 - 所有$new个变量都相同 - images/58fee748d3c93.jpg

如何获得不同的唯一名称?

3 个答案:

答案 0 :(得分:3)

尝试在

这样的唯一ID中添加rand()
uniqid(rand())

对我来说很好用

答案 1 :(得分:3)

使用md5(date('dmyhis')).'.jpg';

 md5(date('dmy').uniqid().date('his')).'.jpg';`

这将使它更独特并使其看起来随机

修改

md5(date('dmy').rand(10).date('his')).rand(0,15).'.jpg';`

答案 2 :(得分:1)

what about like this you have have images name that can access easily.
$path = "../images/";
$items = glob($path . '*.jpg');
$name="any-good-name-";
$counter=0;
foreach($items as $img) { 
$old = substr($img, 3);
$new = 'images/'.$name.$counter'.jpg'; 
echo $new . '<br>';
$counter++;
}