public static function generateCode($poll_id, $member_id) { $code = new Code(); $code->member_id = $member_id; $code->poll_id = $poll_id; $length = 10; $code->token = Yii::$app->getSecurity()->generateRandomString($length); // Better safe than sorry, avoid collisions. while (!$code->validate(['token'])) { $code->token = Yii::$app->getSecurity()->generateRandomString($length); } return $code; }
/** * Creates a new Code model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Code(); if ($model->load(Yii::$app->request->post()) && $model->validate()) { $count = $model->count; $codes = []; for ($i = 0; $i < $count; $i++) { $codeModel = clone $model; $codeModel->code = Code::generateCode(); $codeModel->used = 0; $codeModel->save(); $codes[] = $codeModel->z_b_id . str_pad($codeModel->z_p_id, 3, '0', STR_PAD_LEFT) . $codeModel->code; } return $this->render('create-summary', ['codes' => $codes, 'bank' => Bank::findOne($codeModel->z_b_id), 'count' => $count]); } else { return $this->render('create', ['model' => $model]); } }
function html_str($url) { /* $qihao = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('em[class=red]',0)->innertext; $code1 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',0)->innertext; $code2 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',1)->innertext; $code3 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',2)->innertext; $code4 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',3)->innertext; $code5 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('ul[id=open_code_list]',0)->find('li[class=ico-ball3]',4)->innertext; $msg = $this->grab->find('div[class=mod-aside mod-aside-xssckj]',0)->find('div[class=hd clearfix]',0)->find('p[class=kj-date]',0)->find('em[class=kj-date-txt]',0)->innertext; echo $qihao.'<br/>'; echo $code1.'<br/>'; echo $code2.'<br/>'; echo $code3.'<br/>'; echo $code4.'<br/>'; echo $code5.'<br/>'; echo $msg.'<br/>'; exit; */ $qihao2 = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 0)->plaintext; $code = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 1)->plaintext; if ($code != '--') { // == '--' 正在开奖中 $isKaiJiang = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->plaintext; if ($isKaiJiang != '--' && $isKaiJiang != '开奖中') { //能读取到数据 $sizeProportion = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->find('span', 0)->plaintext; $jioubili = $this->grab->find('div[class=mod-aside mod-aside-xssckj]', 0)->find('div[class=bd]', 0)->find('div[class=kpkjcode]', 0)->find('table', 0)->find('tr', 1)->find('td', 2)->find('span', 1)->plaintext; $codeArr = explode(" ", $code); list($one, $two, $three, $four, $five) = $codeArr; $result = Code::findOne(['qishu' => $qihao2, 'type' => $this->codeType[$url]]); if ($result) { $urlName = array_keys($this->urlArr, $url); echo $urlName[0] . ' - [新时时彩] 最新数据已经采集过了<br/>'; return; } $model = new Code(); $model->qishu = $qihao2; $model->one = $one; $model->two = $two; $model->three = $three; $model->four = $four; $model->five = $five; $model->type = $this->codeType[$url]; $model->size = $sizeProportion; $model->jiou = $jioubili; $model->time = time(); if ($model->validate() && $model->save()) { $urlName = array_keys($this->urlArr, $url); $logModel = new Log(); $logModel->type = 1; $logModel->content = $urlName[0] . '.开奖信息抓取成功'; $logModel->time = time(); $logModel->save(); echo $urlName[0] . '.开奖信息抓取成功-[新时时彩]<br/>'; $this->find($qihao2, $urlName[0], $codeArr, $model->id); return; } } else { $urlName = array_keys($this->urlArr, $url); echo $urlName[0] . '等待开奖...<br/>'; } } else { $urlName = array_keys($this->urlArr, $url); echo $urlName[0] . ' -[新时时彩] 等待开奖...<br/>'; return; } }