php的验证码要gd库,怎么在PHP中使用GD库实现一个验证码功能
怎么在PHP中使用GD庫實現一個驗證碼功能
發布時間:2021-02-15 08:16:44
來源:億速云
閱讀:83
作者:Leah
本篇文章給大家分享的是有關怎么在PHP中使用GD庫實現一個驗證碼功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
具體實現:<?php
/*PHP實現驗證碼*/
session_start();//開啟會話
//創建畫布
$image=imagecreatetruecolor(100,38);
//背景顏色
$bgcolor=imagecolorallocate($image,255,255,255);
imagefill($image,0,0,$bgcolor);
$captch_code='';//存儲驗證碼
//隨機選取4個數字
for($i=0;$i<4;$i++){
$fontsize=10;????//
$fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));//隨機顏色
$fontcontent=rand(0,9);
$captch_code.=$fontcontent;
$x=($i*100/4)+rand(5,10);??//隨機坐標
$y=rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
}
/*//字母和數字混合驗證碼
for($i=0;$i<4;$i++)?{
$fontsize?=?10;????//
$fontcolor?=?imagecolorallocate($image,?rand(0,?120),?rand(0,?120),?rand(0,?120));//??????
$data?=?'abcdefghijklmnopqrstuvwxyz1234567890';??//數據字典
$fontcontent?=?substr($data,?rand(0,?strlen($data)),?1);
$captch_code.=$fontcontent;
$x?=?($i?*?100?/?4)?+?rand(5,?10);
$y?=?rand(5,?10);
imagestring($image,?$fontsize,?$x,?$y,?$fontcontent,?$fontcolor);
}*/
$_SESSION['code']=$captch_code;
//增加干擾點
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);//
}
//增加干擾線
for($i=0;$i<3;$i++){
$linecolor=imagecolorallocate($image,rand(80,280),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);
實現表單的連接和“換一個”功能的實現:
"?alt="驗證碼">
換一個?
以上就是怎么在PHP中使用GD庫實現一個驗證碼功能,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
總結
以上是生活随笔為你收集整理的php的验证码要gd库,怎么在PHP中使用GD库实现一个验证码功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 带点的字符串处理,关于andr
- 下一篇: (java ee,Eclipse J2E