php 驗(yàn)證碼實(shí)例代碼
更新時間:2010年06月01日 00:00:29 作者:
首先驗(yàn)證碼的原理就是,畫一張圖片,然后在這張圖片上寫一些字,然后加一些干擾的線條,像素點(diǎn)之類的東西就ok了,這里要使用php那就要知道php中畫圖的函數(shù)是那些,然后拿來用便是了。
如果要用php的畫圖函數(shù),首先要啟用這個模塊的功能。就是把php.ini中php_gd2.dll前面的注釋去掉就好了。
下面開始畫圖:
<?php
session_start();
//生成驗(yàn)證碼圖片
Header("Content-type: image/PNG");
$im = imagecreate(44,18); // 畫一張指定寬高的圖片
$back = ImageColorAllocate($im, 245,245,245); // 定義背景顏色
imagefill($im,0,0,$back); //把背景顏色填充到剛剛畫出來的圖片中
$vcodes = "";
srand((double)microtime()*1000000);
//生成4位數(shù)字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成隨機(jī)顏色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
$_SESSION['VCODE'] = $vcodes;
for($i=0;$i<100;$i++) //加入干擾象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 畫像素點(diǎn)函數(shù)
}
ImagePNG($im);
ImageDestroy($im);
?>
基本就是這樣實(shí)現(xiàn)了,其實(shí)如果給圖片打水印也無非就是往圖片里面寫字,原理都差不多的。
使用的地方直接
<img src="xxx.php" /> 填寫這個php文件的名字,就可以使用了。
下面開始畫圖:
復(fù)制代碼 代碼如下:
<?php
session_start();
//生成驗(yàn)證碼圖片
Header("Content-type: image/PNG");
$im = imagecreate(44,18); // 畫一張指定寬高的圖片
$back = ImageColorAllocate($im, 245,245,245); // 定義背景顏色
imagefill($im,0,0,$back); //把背景顏色填充到剛剛畫出來的圖片中
$vcodes = "";
srand((double)microtime()*1000000);
//生成4位數(shù)字
for($i=0;$i<4;$i++){
$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成隨機(jī)顏色
$authnum=rand(1,9);
$vcodes.=$authnum;
imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
}
$_SESSION['VCODE'] = $vcodes;
for($i=0;$i<100;$i++) //加入干擾象素
{
$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 畫像素點(diǎn)函數(shù)
}
ImagePNG($im);
ImageDestroy($im);
?>
基本就是這樣實(shí)現(xiàn)了,其實(shí)如果給圖片打水印也無非就是往圖片里面寫字,原理都差不多的。
使用的地方直接
<img src="xxx.php" /> 填寫這個php文件的名字,就可以使用了。
您可能感興趣的文章:
- 一個簡單的PHP驗(yàn)證碼實(shí)現(xiàn)代碼
- thinkphp驗(yàn)證碼顯示不出來的解決方法
- 一漂亮的PHP圖片驗(yàn)證碼實(shí)例
- ThinkPHP驗(yàn)證碼使用簡明教程
- 一個好用的PHP驗(yàn)證碼類實(shí)例分享
- PHP生成Gif圖片驗(yàn)證碼
- PHP 驗(yàn)證碼不顯示只有一個小紅叉的解決方法
- 一個漂亮的php驗(yàn)證碼類(分享)
- PHP5中GD庫生成圖形驗(yàn)證碼(有漢字)
- php仿QQ驗(yàn)證碼的實(shí)例分析
- PHP圖片驗(yàn)證碼制作實(shí)現(xiàn)分享(全)
- 支持中文字母數(shù)字、自定義字體php驗(yàn)證碼代碼
- PHP學(xué)習(xí)筆記 用戶注冊模塊用戶類以及驗(yàn)證碼類
- 一個PHP驗(yàn)證碼類代碼分享(已封裝成類)
- PHP 驗(yàn)證碼的實(shí)現(xiàn)代碼
- PHP驗(yàn)證碼類代碼( 最新修改,完全定制化! )
- PHP 動態(tài)隨機(jī)生成驗(yàn)證碼類代碼
- php 生成隨機(jī)驗(yàn)證碼圖片代碼
- php5 圖片驗(yàn)證碼實(shí)現(xiàn)代碼
- php 數(shù)學(xué)運(yùn)算驗(yàn)證碼實(shí)現(xiàn)代碼
- php圖片驗(yàn)證碼代碼
- PHP+javascript制作帶提示的驗(yàn)證碼源碼分享
相關(guān)文章
php實(shí)現(xiàn)在線生成條形碼示例分享(條形碼生成器)
php實(shí)現(xiàn)在線生成條形碼,可以做一個條形碼生成器,大家參考使用吧2013-12-12
php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法
這篇文章主要介紹了php靜態(tài)成員方法和靜態(tài)的成員屬性的使用方法的相關(guān)資料,希望通過本文能幫助到大家,讓大家使用的時候注意方法,需要的朋友可以參考下2017-10-10
PHP實(shí)現(xiàn)的微信APP支付功能示例【基于TP5框架】
這篇文章主要介紹了PHP實(shí)現(xiàn)的微信APP支付功能,結(jié)合實(shí)例形式分析了基于TP5框架的微信APP支付相關(guān)原理、操作步驟與處理技巧,需要的朋友可以參考下2019-09-09
Laravel統(tǒng)計(jì)一段時間間隔的數(shù)據(jù)方法
今天小編就為大家分享一篇Laravel統(tǒng)計(jì)一段時間間隔的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
php實(shí)現(xiàn)生成驗(yàn)證碼實(shí)例分享
由于注冊的時候常常會用到注冊碼來防止機(jī)器惡意注冊,這里我發(fā)表一個產(chǎn)生圖片驗(yàn)證碼的基本圖像,很簡陋,有需要的小伙伴可以參考下2016-04-04
PHP兩個n位的二進(jìn)制整數(shù)相加問題的解決
這篇文章主要為大家詳細(xì)介紹了PHP兩個n位的二進(jìn)制整數(shù)相加問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-08-08
PHP在網(wǎng)頁中動態(tài)生成PDF文件詳細(xì)教程
這篇文章主要介紹了PHP在網(wǎng)頁中動態(tài)生成PDF文件詳細(xì)教程,本文用一個需求為引,詳細(xì)介紹每一步驟的做法,并配有大量圖片說明,需要的朋友可以參考下2014-07-07

