PHP生成圖片驗(yàn)證碼、點(diǎn)擊切換實(shí)例
這里來(lái)看下效果:
現(xiàn)在讓我們來(lái)看下 PHP 代碼
<?php
session_start();
function random($len) {
$srcstr = "1a2s3d4f5g6hj8k9qwertyupzxcvbnm";
mt_srand();
$strs = "";
for ($i = 0; $i < $len; $i++) {
$strs .= $srcstr[mt_rand(0, 30)];
}
return $strs;
}
//隨機(jī)生成的字符串
$str = random(4);
//驗(yàn)證碼圖片的寬度
$width = 50;
//驗(yàn)證碼圖片的高度
$height = 25;
//聲明需要?jiǎng)?chuàng)建的圖層的圖片格式
@ header("Content-Type:image/png");
//創(chuàng)建一個(gè)圖層
$im = imagecreate($width, $height);
//背景色
$back = imagecolorallocate($im, 0xFF, 0xFF, 0xFF);
//模糊點(diǎn)顏色
$pix = imagecolorallocate($im, 187, 230, 247);
//字體色
$font = imagecolorallocate($im, 41, 163, 238);
//繪模糊作用的點(diǎn)
mt_srand();
for ($i = 0; $i < 1000; $i++) {
imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $pix);
}
//輸出字符
imagestring($im, 5, 7, 5, $str, $font);
//輸出矩形
imagerectangle($im, 0, 0, $width -1, $height -1, $font);
//輸出圖片
imagepng($im);
imagedestroy($im);
$str = md5($str);
//選擇 cookie
//SetCookie("verification", $str, time() + 7200, "/");
//選擇 Session
$_SESSION["verification"] = $str;
?>
接下來(lái)只要在頁(yè)面中調(diào)用就可以了:
<img id="checkpic" onclick="changing();" src='/images/checkcode.php' />
如果想實(shí)現(xiàn) "看不清?換一張" 效果,添加如下 JS 到頁(yè)面中
function changing(){
document.getElementById('checkpic').src="/images/checkcode.php?"+Math.random();
}
- php圖像處理函數(shù)大全(推薦收藏)
- PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子
- php圖像處理函數(shù)imagecopyresampled用法詳解
- PHP基于GD庫(kù)的圖像處理方法小結(jié)
- PHP GD 圖像處理組件的常用函數(shù)總結(jié)
- PHP圖像處理類庫(kù)MagickWand用法實(shí)例分析
- PHP+jQuery 注冊(cè)模塊的改進(jìn)(一):驗(yàn)證碼存入SESSION
- PHP 用session與gd庫(kù)實(shí)現(xiàn)簡(jiǎn)單驗(yàn)證碼生成與驗(yàn)證的類方法
- 一個(gè)漂亮的php驗(yàn)證碼類(分享)
- php發(fā)送短信驗(yàn)證碼完成注冊(cè)功能
- php生成圖片驗(yàn)證碼-附五種驗(yàn)證碼
- PHP 圖像處理與SESSION制作超簡(jiǎn)單驗(yàn)證碼的方法示例
相關(guān)文章
PHP 將逗號(hào)、空格、回車分隔的字符串轉(zhuǎn)換為數(shù)組的函數(shù)
我們?cè)谒阉饕恍〇|西時(shí)會(huì)經(jīng)常遇到可以通過(guò)空格隔開來(lái)達(dá)到輸入多個(gè)條件的目的。今天正好項(xiàng)目中遇到了這個(gè)情況,就寫了一個(gè)函數(shù),將多個(gè)條件放到數(shù)組里2012-06-06thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法
這篇文章主要介紹了thinkPHP實(shí)現(xiàn)多字段模糊匹配查詢的方法,結(jié)合實(shí)例形式分析了thinkPHP進(jìn)行模糊匹配查詢的相關(guān)模型操作與sql語(yǔ)句,需要的朋友可以參考下2016-12-12thinkPHP5分頁(yè)功能實(shí)現(xiàn)方法分析
這篇文章主要介紹了thinkPHP5分頁(yè)功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了thinkPHP5實(shí)現(xiàn)分頁(yè)功能的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-10-10PHP中使用gettext解決國(guó)際化問(wèn)題的例子(i18n)
這篇文章主要介紹了PHP中使用gettext解決國(guó)際化問(wèn)題的例子,即實(shí)現(xiàn)i18n,需要的朋友可以參考下2014-06-06PHP獲取當(dāng)前時(shí)間的5種實(shí)現(xiàn)方式
這篇文章主要介紹了PHP獲取當(dāng)前時(shí)間的5種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01實(shí)例講解PHP設(shè)計(jì)模式編程中的簡(jiǎn)單工廠模式
這篇文章主要介紹了PHP設(shè)計(jì)模式編程中的簡(jiǎn)單工廠模式,舉了一個(gè)水果銷售和一個(gè)計(jì)算器設(shè)計(jì)的例子,需要的朋友可以參考下2016-02-02php通過(guò)字符串調(diào)用函數(shù)示例
這篇文章主要介紹了php通過(guò)字符串調(diào)用函數(shù),需要的朋友可以參考下2014-03-03layui框架實(shí)現(xiàn)文件上傳及TP3.2.3(thinkPHP)對(duì)上傳文件進(jìn)行后臺(tái)處理操作示例
這篇文章主要介紹了layui框架實(shí)現(xiàn)文件上傳及TP3.2.3對(duì)上傳文件進(jìn)行后臺(tái)處理操作,結(jié)合實(shí)例形式分析了layui框架結(jié)合thinkPHP進(jìn)行文件上傳與處理操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05