duanquezhan7268 2017-04-16 21:45
浏览 275
已采纳

刷新时生成10位唯一编号

I am new to PHP and want to generate unique 10 digits number for my SKU Number. I tried using a date with IP address and got a unique value first time. But after a refresh or saving product data I still have that same SKU number. Any Help?? My code is:

    <?php
     if(!empty($_POST)) {
      .....my code......   
      }

      else{
       $stamp = date("Ymdhis");
       $ip = $_SERVER['REMOTE_ADDR'];
       $sku = "$stamp-$ip";
       $sku = str_replace(".", "", "$sku");
       $sku = str_replace("-", "", "$sku");
       $sku = str_replace(":", "", "$sku");
       $sku = substr($sku, 0,10);
       }
       ?>
  • 写回答

4条回答 默认 最新

  • dream8877 2017-04-16 21:54
    关注

    Here's a quick random-string-generator I wrote:

    function generateRandomString($alpha = true, $nums = true, $usetime = false, $string = '', $length = 120) {
    $alpha = ($alpha == true) ? 'abcdefghijklmnopqrstuvwxyz' : '';
    $nums = ($nums == true) ? '1234567890' : '';
    
    if ($alpha == true || $nums == true || !empty($string)) {
        if ($alpha == true) {
            $alpha = $alpha;
            $alpha .= strtoupper($alpha);
        } 
    }
    $randomstring = '';
    $totallength = $length;
        for ($na = 0; $na < $totallength; $na++) {
                $var = (bool)rand(0,1);
                if ($var == 1 && $alpha == true) {
                    $randomstring .= $alpha[(rand() % mb_strlen($alpha))];
                } else {
                    $randomstring .= $nums[(rand() % mb_strlen($nums))];
                }
        }
    if ($usetime == true) {
        $randomstring = $randomstring.time();
    }
    return($randomstring);
    } // end generateRandomString
    

    You can use it like this for what you need:

    $SKU = generateRandomString(false, true, false, '', 10);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换