Re: [請益] 產生驗證碼
※ 引述《cloudlin322 (麥芽糖N  ﳿ︠)》之銘言:
: 想請問一下板上的高手
: 我現在要寫個程式來產生驗證碼
: 而這驗證碼為7位數 由數字、大小寫英文所產生
: 問題不在於如何產生
: 主要的問題在於我要產生六十萬筆!!!!!!!!!!
: 而且每一筆都要不一樣
: 想要請問怎樣子寫才會快??
: 目前做法:
: 產生的驗證碼去比對資料庫,若是沒有則儲存到資料庫裡面
: 每產生一筆就要去比對一次
: 產生到第四萬筆就要去比對四萬筆資料
: 接下來就會速度很慢了....導致網頁time out....
#!/usr/local/bin/php
<?php
$a=array();
$r='';
$a[$r]=1;
for($i=0;$i<600000;++$i){
while(isset($a[$r])){
$r=gen();
}
echo $i.':'.$r."\n";
$a[$r]=1;
}
function gen(){
$t='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$r='';
for($i=0;$i<7;++$i){
$r.=$t[rand(0,61)];
}
return $r;
}
?>
這樣一下子就跑完了
記憶體能裝的下的東西就裝記憶體
快多了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 221.169.71.109
→
12/08 19:33, , 1F
12/08 19:33, 1F
→
12/08 19:35, , 2F
12/08 19:35, 2F
→
12/08 19:42, , 3F
12/08 19:42, 3F
推
12/08 19:44, , 4F
12/08 19:44, 4F
→
12/08 19:50, , 5F
12/08 19:50, 5F
→
12/08 19:50, , 6F
12/08 19:50, 6F
→
12/08 19:57, , 7F
12/08 19:57, 7F
→
12/08 20:00, , 8F
12/08 20:00, 8F
→
12/08 20:01, , 9F
12/08 20:01, 9F
※ 編輯: buganini 來自: 221.169.71.109 (12/08 20:01)
→
12/08 20:03, , 10F
12/08 20:03, 10F
→
12/08 20:04, , 11F
12/08 20:04, 11F
→
12/08 20:05, , 12F
12/08 20:05, 12F
→
12/08 20:05, , 13F
12/08 20:05, 13F
推
12/08 20:16, , 14F
12/08 20:16, 14F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章
154
159