網(wǎng)上生成php驗(yàn)證碼程序用很多,下面我來(lái)給大家分享一款超不錯(cuò)的php驗(yàn)證碼程序代碼,有需要的朋友可參考,驗(yàn)證碼識(shí)別一般分為以下幾個(gè)步驟:1. 取出字模,2. 二值化,3. 計(jì)算特征,4. 對(duì)照樣本.
php驗(yàn)證碼程序代碼如下:
- function _code($_code_length = 4, $_width = 75, $_height = 25){
- for($i=0;$i<$_code_length;$i++){
- $_nmsg .= dechex(mt_rand(0,15));
- }
- $_SESSION["code"] = $_nmsg;
- $_img = imagecreatetruecolor($_width, $_height);
- $_white = imagecolorallocate($_img, 250, 250, 250);
- imagefill($_img, 0, 0, $_white);
- $_gray = imagecolorallocate($_img, 196, 196, 196);
- imagerectangle($_img, 0, 0, $_width-1, $_height-1, $_gray);
- for ($i=0; $i < 6; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
- imageline($_img, mt_rand(0,$_width), mt_rand(0, $_height),mt_rand(0,$_width), mt_rand(0, $_height), $_md_color);
- }
- for ($i=0; $i < 50; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
- imagestring($_img, 1, mt_rand(1,$_width-5), mt_rand(1, $_height-5), "*", $_md_color);
- }
- for ($i=0; $i < $_code_length ; $i++) {
- $_md_color = imagecolorallocate($_img, mt_rand(0,102), mt_rand(0,102), mt_rand(0,102));
- imagestring($_img, 5, $i * $_width/$_code_length+ mt_rand(1, 10), mt_rand(1, $_height/2), $_SESSION["code"][$i], $_md_color);
- }
- header("Content-Type:image/png");
- imagepng($_img);
- imagedestroy($_img);
- }
- //驗(yàn)證碼使用方法
- //開源代碼Vevb.com
- $getcode = $_POST['code'];
- if( $_SESSION["code"] = $getcode )
- {
- echo ' 驗(yàn)證合法,進(jìn)入下一步';
- unset( $_SESSION["code"] );
- }
- else
- {
- echo ' 驗(yàn)證碼不正確';
- header('location:vial.php');
- }
新聞熱點(diǎn)
疑難解答