Php 如何重命名图像或向图像中添加随机数以获得唯一的名称

Php 如何重命名图像或向图像中添加随机数以获得唯一的名称,php,image,rename,Php,Image,Rename,对每个文件使用以下代码: $target = "upload/"; $targetx = $target . basename( $_FILES['photo']['name']); if(move_uploaded_file($_FILES['photo']['tmp_name'], $targetx)) { } else { } $targetx = $target . basename( $_FILES['photo2']['name']); if(move_uploaded_fi

对每个文件使用以下代码:

$target = "upload/";

$targetx = $target . basename( $_FILES['photo']['name']);

if(move_uploaded_file($_FILES['photo']['tmp_name'], $targetx))
{

}
else {
}

$targetx = $target . basename( $_FILES['photo2']['name']);
if(move_uploaded_file($_FILES['photo2']['tmp_name'], $targetx))
{

}
else {

}

$targetx = $target . basename( $_FILES['photo3']['name']);

if(move_uploaded_file($_FILES['photo3']['tmp_name'], $targetx))
{

}
else {

}

$targetx = $target . basename( $_FILES['photo4']['name']);

if(move_uploaded_file($_FILES['photo4']['tmp_name'], $targetx))
{

}
else {

echo "Sorry, there was a problem uploading your file.";
}
$photo=($_FILES['photo']['name']);
$photo2=($_FILES['photo2']['name']);
$photo3=($_FILES['photo3']['name']);
$photo4=($_FILES['photo4']['name']);

为什么不使用时间戳?你确定它是独一无二的。。。因为如果两个图像具有相同的随机序列呢?

您可以使用一些散列函数,如md5()。只需将此功能应用于上载文件的名称。

尝试以下操作:

$file = $_FILES['photo1']['name'];
$ext = pathinfo($file, PATHINFO_EXTENSION);
$photo = "newfile_".time().rand(5, 15).".".$ext
$targetx = $target . $photo;

那么,如果(move_上传的_文件($_文件['photo']['tmp_name'],$targetx])尝试更新代码,这一行会有什么变化。。无需更改if(移动上传的文件($文件['photo']['tmp\u名称'],$targetx))
$temp = explode(".", $_FILES["image"]["name"]);
$extension = end($temp);

$newfilename = time().rand().".".$extension;
$target_Path = $path_to_image_directory.basename($_FILES['url']['name']);
if(preg_match('/[.](jpg)|(jpeg)|(gif)|(png)$/', strtolower ($_FILES['url']['name']))) {
        move_uploaded_file( $_FILES['url']['tmp_name'], $target_Path );
}
$extention = explode(".",$_FILES['url']['name']); // Or use str function

################### end code for move  #############################

$name = $imageName. "-" . RAND(10,100) . "." . $extention[1] ;

#####################################renaming the file ################
rename($path_to_image_directory.basename($_FILES['url']['name']), $path_to_image_directory.$name  );