php產生五位元邀請碼

來源:互聯網
上載者:User
本篇文章給大家分享的內容是php產生五位元邀請碼,有著一定的參考價值,有需要的朋友可以參考一下

model

 /**     * 產生邀請碼     * @param $uid     * @return string     */public function initcode() {        $code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';        $rand = $code[rand(0,25)]            .strtoupper(dechex(date('m')))            .date('d').substr(time(),-5)            .substr(microtime(),2,5)            .sprintf('%02d',rand(0,99));        for(            $a = md5( $rand, true ),            $s = '0123456789ABCDEFGHIJKLMNOPQRSTUV',            $d = '',            $f = 0;            $f < 5;            $g = ord( $a[ $f ] ),            $d .= $s[ ( $g ^ ord( $a[ $f + 8 ] ) ) - $g & 0x1F ],            $f++        );        return $d;    }    /**     * 是否重複     */    public function recode($code) {        if ($this->where('code='.$code)->find()) {            return false;        }        return true;    }


action

/**     * 我的邀請碼     * @author zhangfeng     */    public function mycode() {        $model = M('Usercode');        $uid = ($_GET['uid']);        $code = $model->is_code($uid);        $this->assign('code', $code);        if (!$code) {            $code = $this->getcode($model, $uid);            $res = $model->savecode($uid, $code);            if ($res) {                $this->assign('code', $code);            } else {                $this->assign('code', '邀請碼產生失敗!,錯誤:'.$model->getError());            }        }        $this->display();    }    /**     * 遞迴函式擷取絕對不重複邀請碼     * @author zhangfeng     * @param $model     * @param $uid     * @return mixed     */    private function getcode($model, $uid) {        $code = $model->initcode($uid);        if ($model->recode($code)) {            return $code;        } else {            while(true) {                $this->getcode($model, $uid);            }        }    }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.