【问题标题】:How to rename image or add random number to the image to make unique name如何重命名图像或向图像添加随机数以使名称唯一
【发布时间】:2014-06-22 21:09:49
【问题描述】:
$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']);

【问题讨论】:

    标签: php image rename


    【解决方案1】:

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

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

    【讨论】:

    • 那么这一行有什么变化 if(move_uploaded_file($_FILES['photo']['tmp_name'], $targetx))
    • 尝试更新代码.. 无需更改 if(move_uploaded_file($_FILES['photo']['tmp_name'], $targetx))
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以使用一些哈希函数,例如 md5()。只需将此函数应用于上传文件的名称即可。

      【讨论】:

        【解决方案4】:

        试试这个:

        $temp = explode(".", $_FILES["image"]["name"]);
        $extension = end($temp);
        
        $newfilename = time().rand().".".$extension;
        

        【讨论】:

          【解决方案5】:
          $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  );
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-03-17
            • 1970-01-01
            • 2011-07-02
            • 1970-01-01
            • 2014-10-02
            • 2012-11-19
            • 1970-01-01
            相关资源
            最近更新 更多