zoukankan      html  css  js  c++  java
  • php 生成8位数唯一的激活码

    /**
    *生成激活码
    */
    function showGenerationActivationCode(){
    #渠道类型id
    $channel_id=$_POST['channel'];
    #根据渠道id去查询渠道英文名称
    $channelInfo = load_mysql ( "channelInfo" );
    $_res=$channelInfo->getInfoById($channel_id);
    $en_name=$_res['en_name'];
    #活动类型
    $type=$_POST['active_type'];
    #生成数量
    $nub=$_POST['nub'];
    #连接redis
    $redis=new Redis();
    $redis->connect('192.168.1.133',8899);
    #授权
    $redis->auth("XXXXXX");
    #存入数据
    for($i=0;$i<$nub;$i++){
    #接受生成的激活码
    $ActivationCode=$this->showunique_rand(10000000,99999999,1);
    #生成code
    $code=$this->showAlgorithm_ActivationCode($type,$channel_id,$ActivationCode);
    #写入redis
    $redis->hmset('hash','code_hash',array('code'=>$code));
    }
    #写入redis
    $redis->hmset('hash', 'channel_hash', array($en_name=> $channel_id ));

    $this->PromptMsg = "生成成功!";
    $this->UrlJump = "./index.php?module=operation&action=ActivationCode&menuId=168";
    $this->promptMsg ();
    }
    /**
    *生成code算法
    *type:活动类型[取前三位]
    *channel_id:渠道id[取前三位,不足以0填充]
    *array_ActivationCode:激活码数组
    *code算法格式=活动类型+渠道id+array_ActivationCode;
    *return code的数组
    */
    function showAlgorithm_ActivationCode($type,$channel_id,$ActivationCode){
    #截取活动类型前位字符串
    $type=mb_substr($type,0,3,'utf-8');
    #渠道id[取前三位,不足左边以0填充]
    $channel_id=str_pad($channel_id,3,'0',STR_PAD_LEFT);
    #拼接code
    $code=$type.''.$channel_id.''.$ActivationCode;
    return $code;
    }
    /**
    *生成8位数的激活码算法
    */
    function showunique_rand($min, $max, $num=1) {
    $count = 0;
    $return = array();
    while ($count < $num) {
    $return[] = mt_rand($min, $max);
    $return = array_flip(array_flip($return));
    $count = count($return);
    }
    return $return[0];
    }

  • 相关阅读:
    Fragment传参
    android手机旋转方向识别
    如何激活已经运行过的Activity, 而不是重新启动新的Activity
    Android 在Canvas中实现画笔效果(一)--钢笔
    [AS3]as3画笔实例实现橡皮擦功能源代码
    在 Windows 環境下利用 VNC 遠端控管 Mac OS X Server
    mac下开发IOS代码管理
    Android开发--仿微信语音对讲录音
    Android 二维码 生成和识别(附Demo源码)
    Android开源项目分类汇总
  • 原文地址:https://www.cnblogs.com/hgj123/p/4531799.html
Copyright © 2011-2022 走看看