如何在循环中为php中的文件提供唯一的名称


how to give unique name to file in php in loop

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

bt我的文件重复了。。。

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

我的剧本有问题。。。

bt我无法解决这个问题。。

我的脚本--

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);
    } 

如何使我的图像名称独一无二。。。

试试这个http://php.net/manual/en/function.uniqid.php它将有助于提供独特的字符串。

$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
    }