如何解决,请参考邮件中没有重复的内容

时间:2019-07-19 03:23:27

标签: php wordpress

我在电子邮件中生成参考编号,有时它在某些邮件中复制参考编号。

我在代码中使用了microtime(),getTimestamp()和随机生成函数。 我将WAF缓存用作服务器。 注意:我不能使用数据库。 有人知道如何解决这个问题吗?

function generate_inquiry_reference_no(){
    $date=current_time("Y-m-d");
    $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $charactersLength = strlen($characters);
    $randomString = '';
    for ($i = 0; $i < 8; $i++) {
        $randomString .= $characters[rand(0, $charactersLength - 1)];
    }
    return $date."-".$randomString;

}

function generate_email_reference_no(){
    $date = new DateTime();
    $email_ref_no=$date->getTimestamp();
    $ref_no = ((microtime() * 100000)*10);

    return $email_ref_no."-".$ref_no;

}```

1 个答案:

答案 0 :(得分:0)

考虑使用类似random_bytes之类的方法来获得实际的随机结果,而不是根据时间得出结果。

function str_rand(int $length = 64){ // 64 = 32
    $length = ($length < 4) ? 4 : $length;
    return bin2hex(random_bytes(($length-($length%2))/2));
}

echo (new DateTime())->format('Y-m-d') . '_' . str_rand(10)