范文為教學(xué)中作為模范的文章,也常常用來(lái)指寫作的模板。常常用于文秘寫作的參考,也可以作為演講材料編寫前的參考。那么我們?cè)撊绾螌懸黄^為完美的范文呢?以下是我為大家搜集的優(yōu)質(zhì)范文,僅供參考,一起來(lái)看看吧
php驗(yàn)證碼識(shí)別篇一
驗(yàn)證碼分為:數(shù)字驗(yàn)證碼,字母驗(yàn)證碼,數(shù)字加字母驗(yàn)證碼,圖片驗(yàn)證碼,漢子驗(yàn)證碼,視頻驗(yàn)證碼等!由于原理相同,且根據(jù)平時(shí)的使用范圍來(lái)看,今天在這里只講數(shù)字驗(yàn)證碼,字母驗(yàn)證碼,數(shù)字加字母驗(yàn)證碼。下面是由百分網(wǎng)小編為大家整理的php實(shí)現(xiàn)驗(yàn)證碼制作,喜歡的可以收藏一下!了解更多詳情資訊,請(qǐng)關(guān)注應(yīng)屆畢業(yè)生考試網(wǎng)!
(1)生成驗(yàn)證碼底圖
(2)驗(yàn)證碼內(nèi)容
(3)生成驗(yàn)證碼
(4)對(duì)比校驗(yàn)
(a)底圖的實(shí)現(xiàn),并添加干擾元素
(b)生成驗(yàn)證內(nèi)容
(c)驗(yàn)證內(nèi)容保存在服務(wù)端
(d)驗(yàn)證內(nèi)容的校驗(yàn)
<?php
/*
這段代碼 實(shí)現(xiàn)了產(chǎn)生 隨機(jī)數(shù)字,隨機(jī)數(shù)字+字母驗(yàn)證碼
*/
session_start();
$image = imagecreatetruecolor(100, 30);
//imagecreatetruecolor() 返回一個(gè)圖像標(biāo)識(shí)符,代表了一幅大小為 x_size 和 y_size 的黑色圖像。
$bgcolor = imagecolorallocate($image, 255, 255, 255);
// imagecolorallocate — 為一幅圖像分配顏色
imagefill($image,0,0,$bgcolor);
/* ? 生成字母驗(yàn)證碼
for($i=0;$i<4;$i++)
{
$fontsize = 6;
// $fontcolor = imagecolorallocate($image, 0, 0, 0);
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$fontcontent =rand(0,9);
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
// imagestring — 水平地畫(huà)一行字符串
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
*/
// 生成字母加數(shù)字的隨機(jī)驗(yàn)證碼
$captcha_code = "";
for($i=0;$i<4;++$i)
{
$fontsize = 6;
$fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
$data = "abcdefghijklmnopqrstuvwxtz123456789";
$fontcontent = substr($data,rand(0,strlen($data)),1);
$captcha_code.=$fontcontent;
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
}
$_session['authcode']=$captcha_code;
// ?給驗(yàn)證碼添加點(diǎn)干擾項(xiàng)
for($i=0;$i<200;$i++)
{
$pointcolor = imagecolorallocate($image, rand(50,200), rand(50,200), rand(50,200));
imagesetpixel($image, rand(1,99), rand(1,29), $pointcolor);
// bool imagesetpixel ( resource $image , int $x , int $y , int $color );
// imagesetpixel() 在 image 圖像中用 color 顏色在 x,y 坐標(biāo)(圖像左上角為 0,0)上畫(huà)一個(gè)點(diǎn)。
}
// 增加線的干擾
for($i=0;$i<3;++$i)
{
$linecolor = imagecolorallocate($image, rand(80,220), rand(80,220), rand(80,220));
imageline($image, rand(1,99), rand(1,29), rand(1,99), rand(1,29), $linecolor);
}
header("content-type: image/png");
imagepng($image);
imagedestroy($image);
?>
s("content_relate");【php實(shí)現(xiàn)驗(yàn)證碼制作】相關(guān)文章:
php如何實(shí)現(xiàn)驗(yàn)證碼
09-07
php頁(yè)面緩存實(shí)現(xiàn)方法
09-12
php如何實(shí)現(xiàn)快速排序
09-07
如何用php實(shí)現(xiàn)找回密碼
09-21
php多線程的實(shí)現(xiàn)方法
09-12
php實(shí)現(xiàn)多線程的方法技巧
10-01
php實(shí)現(xiàn)同步遠(yuǎn)程mysql的方法
09-11
php中讀取大文件實(shí)現(xiàn)方法
09-05
php實(shí)現(xiàn)大文件上傳源代碼
08-29