上传时重命名文件

I have this upload script to upload multiple files which works fine. However I want to rename the files on upload to a variable set in the page plus a random number

if(isset($_FILES['files'])){
    $errors= array();
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name ){
        $file_name = $key.$_FILES['files']['name'][$key];
        $file_size =$_FILES['files']['size'][$key];
        $file_tmp =$_FILES['files']['tmp_name'][$key];
        $file_type=$_FILES['files']['type'][$key];  
        $desired_dir="hr-documents";
        if(empty($errors)==true){
            if(is_dir($desired_dir)==false){
                mkdir("$desired_dir", 0700);        // Create directory if it does not exist
            }
            if(is_dir("$desired_dir/".$file_name)==false){
                move_uploaded_file($file_tmp,"$desired_dir/".$file_name);
            }else{                                  // rename the file if another one exist
                $new_dir="$desired_dir/".$file_name.time();
                 rename($file_tmp,$new_dir) ;               
            }
         mysql_query($query);           
        }else{
                print_r($errors);
        }
    }
    if(empty($error)){
        echo"There has been an error.";}

Is there a way to do this?

Try this

$date = date("dmY");
$newfilename = round(microtime(true)) . '.' . end($temp);
move_uploaded_file($_FILES["passport"]["tmp_name"], "$desired_dir/image_" . $date . "_" . $newfilename);

This will create a new filename like image_09210313_32134144.jpg

    $length = 10;
    $randomString = substr(str_shuffle("123456789abcdefijknopqrstuvwxyzABCHIJKOPQRSTUVWXYZ"), 0, $length);

    $newfilename = "$variable-randomString";

     move_uploaded_file($file_tmp,"$desired_dir/".$newfilename);