如何在php in循环中为文件指定唯一名称

如何在php in循环中为文件指定唯一名称,php,Php,我正在重命名目录中的文件 …我的文件重复了 由于重复。。。。某些文件被删除 我的脚本中有一个问题 我无法解决这个问题 我的剧本-- for($i=2;$i<=count($worksheet);$i++) { $directory = $_SERVER['DOCUMENT_ROOT'].'/mesleep/uploaded_files/test/'; $sku = (!isset($works

我正在重命名目录中的文件

…我的文件重复了

由于重复。。。。某些文件被删除

我的脚本中有一个问题

我无法解决这个问题

我的剧本--

for($i=2;$i<=count($worksheet);$i++)
    {               
        $directory = $_SERVER['DOCUMENT_ROOT'].'/mesleep/uploaded_files/test/';             

        $sku = (!isset($worksheet[$i][1])) ? '' : addslashes(trim($worksheet[$i][1]));
        $image_1 = (!isset($worksheet[$i][2])) ? '' : htmlentities(trim($worksheet[$i][2]));
        rename($directory.$image_1,$directory.$sku.'_'.$i);

        $image_2 = (!isset($worksheet[$i][3])) ? '' : htmlentities(trim($worksheet[$i][3]));

        rename($directory.$image_2,$directory.$sku.'_'.$i);
    } 
如何使我的图像名称唯一…

试试这个 它将有助于提供独特的字符串

$uniqueString = uniqid(random(),true);

有很多方法可以做到这一点:

您可以在名称之前添加时间

例如:

    $imageName="XYZ.png";

    $uniqueImageName=time().$imageName; //Add time stamp before name to give image a unique name
在循环中赋值的情况下,将额外值与递增值连接起来

比如:

    for($i=1;$i<=$lengthOfLoop;$i++)
    {
        $imageName="XYZ.png";

        $uniqueImageName=time().$i.$imageName;  //Add time stamp before name to give image a unique name
    }

您可以使用uniqid函数指定唯一的名称,但首先需要获取文件的扩展名,例如pathinfo;如何使我的图像名称唯一-$time=time$unique=uniqid$文件=$time.\$unique;我正要通知相同的,使用GUID.extension作为文件名name@Fred-二-。。。我需要这个序列。。。1234_11234_2像这样不是唯一的@我的建议只是一个例子。