Php 将随机字符添加到文件路径的末尾

Php 将随机字符添加到文件路径的末尾,php,Php,我有这个 $resizeObj -> saveImage('images/'.$pic, 90); 我想在文件名的末尾添加随机字符,以防止使用类似以下内容的重复名称: function genRandomString() { $length = 10; $characters = ’0123456789abcdefghijklmnopqrstuvwxyz’; $string = ”; for ($p = 0; $p < $lengt

我有这个

$resizeObj -> saveImage('images/'.$pic, 90);
我想在文件名的末尾添加随机字符,以防止使用类似以下内容的重复名称:

    function genRandomString() {
    $length = 10;
    $characters = ’0123456789abcdefghijklmnopqrstuvwxyz’;
    $string = ”;    

    for ($p = 0; $p < $length; $p++) {
        $string .= $characters[mt_rand(0, strlen($characters))];
    }

    return $string;
}
函数genRandomString(){
$length=10;
$characters='0123456789abcdefghijklmnopqrstuvwxyz';
$string=“;
对于($p=0;$p<$length;$p++){
$string.=$characters[mt_rand(0,strlen($characters))];
}
返回$string;
}

Whta是将其合并到
$resizeObj

中的最佳方法,您不应该保存随机字符串。显示图像时只需附加一个唯一的字符串(例如uniqid()。

不应保存随机字符串。在显示图像时,只需附加一个唯一的字符串(例如uniqid())。

并发性是一个问题吗?如果不打算同时添加图像负载,可以使用
microtime()
?如果需要随机字符串,为什么不直接使用
uniqid()
?并发性是一个问题吗?如果您不打算同时添加图像负载,那么可以使用
microtime()
?如果您想要随机字符串,为什么不直接使用
uniqid()
?如果我使用
$pic=uniqid($_FILES['photo']['name'])uniqid附加在.jpg扩展名之后。我怎样才能把它作为名字的前缀?@RonnieT抱歉,我误解了。您只需要$pic=uniqid()$扩展以定义
$id=uniqid()结束
然后将$id传递到$pic
$pic=$id.($_文件['photo']['name'])因为我需要在文档中多次使用相同的uniqid。谢谢你的帮助。如果我这样做,
$pic=uniqid(($_FILES['photo']['name'])uniqid附加在.jpg扩展名之后。我怎样才能把它作为名字的前缀?@RonnieT抱歉,我误解了。您只需要$pic=uniqid()$扩展以定义
$id=uniqid()结束
然后将$id传递到$pic
$pic=$id.($_文件['photo']['name'])因为我需要在文档中多次使用相同的uniqid。谢谢你的帮助。
$pathinfo = pathinfo($pic);
$pic = sprintf("%s%s.%s", $pathinfo['basename'], getRandomString(), $pathinfo['extension']);
$resizeObj -> saveImage('images/'.$pic, 90);