如何在php in循环中给文件赋予唯一的名称

时间:2014-09-26 12:14:47

标签: php

我只是在目录中重命名文件....

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

如何让我的图片名称独一无二......

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

有很多方法可以做到:

您可以在名字前添加时间()。

示例:

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