博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP生成中文验证码并检测对错实例
阅读量:4599 次
发布时间:2019-06-09

本文共 2016 字,大约阅读时间需要 6 分钟。

PHP生成中文验证码并检测对错实例,中文验证码的例子还是比较少的,今天给大家分享一下,支持自定义中文、字体、背景色等

生成验证码,注意font字体路径要对,否则显示图片不存在

1 session_start();  2   3 //1>设置验证码图片大小的函数  4 $image = imagecreatetruecolor(200, 60);  5 //5>设置验证码颜色 imagecolorallocate(int im, int red, int green, int blue);  6 $bgcolor = imagecolorallocate($image, 255, 255, 255); //#ffffff  7 //6>区域填充 int imagefill(int im, int x, int y, int col)  (x,y) 所在的区域着色,col 表示欲涂上的颜色  8 imagefill($image, 0, 0, $bgcolor);  9 //7>设置ttf字体 10 $fontface = 'simhei.ttf'; 11 //7>设置字库,实现简单的数字储备 12 $str = '天地不仁以万物为刍狗圣人不仁以百姓为刍狗这句经常出现在控诉暴君暴政上地残暴不仁把万物都当成低贱的猪狗来看待而那些高高在上的所谓圣人们也没两样还不是把我们老百姓也当成猪狗不如的东西但实在正取的解读是地不情感用事对万物一视同仁圣人不情感用事对百姓一视同仁执子之手与子偕老当男女主人公含情脉脉看着对方说了句执子之手与子偕老女方泪眼朦胧含羞地回一句讨厌啦这样的情节我们是不是见过很多但是我们来看看这句的原句死生契阔与子成说执子之手与子偕老于嗟阔兮不我活兮于嗟洵兮不我信兮意思是说战士之间的约定说要一起死现在和我约定的人都走了我怎么活啊赤裸裸的兄弟江湖战友友谊啊形容好基友的基情比男女之间的爱情要合适很多吧'; 13 //str_split()切割字符串为一个数组,一个中文在utf_8为3个字符 14 $strdb = str_split($str, 3); 15 //>11 16 $captcha_code = ''; 17 //8>生成随机的汉子 18 for ($i = 0; $i < 4; $i++) { 19     //设置字体颜色,随机颜色 20     $fontcolor = imagecolorallocate($image, rand(0, 120), rand(0, 120), rand(0, 120));            //0-120深颜色 21     //随机选取中文 22     $in = rand(0, count($strdb)); 23     $cn = $strdb[$in]; 24     //将中文记录到将保存到session的字符串中 25     $captcha_code .= $cn; 26     /* imagettftext (resource $image ,float $size ,float $angle ,int $x ,int $y,int $color, 27       string $fontfile ,string $text ) 幕布 ,尺寸,角度,坐标,颜色,字体路径,文本字符串 28       mt_rand()生成更好的随机数,比rand()快四倍 */ 29     imagettftext($image, mt_rand(20, 24), mt_rand(-60, 60), (40 * $i + 20), mt_rand(30, 35), $fontcolor, $fontface, $cn); 30 } 31 //11>存到session 32 $_SESSION['sucaihuo_code'] = $captcha_code;

 

Ajax检测验证码

1 function checkCode() {  2     $.post("ajax.php", {code: $("#input_code").val()}, function(data) {  3         if (data == '1') {  4             alert("验证码正确!");  5         } else {  6             alert("验证码错误!");  7         }  8   9     }, "json") 10 }

本文转自,转载请注明出处!

posted on
2019-06-01 11:31 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/woleyia/p/10958984.html

你可能感兴趣的文章
JConsole远程连接配置 服务器监控工具
查看>>
了解HTTP协议栈(实践篇)
查看>>
loj10035. 「一本通 2.1 练习 1」Power Strings
查看>>
%s的用法
查看>>
调用底层不能直接访问的类和方法
查看>>
清理缓存的方法 #DF
查看>>
JAVA array,map 转 json 字符串
查看>>
2017-12-27练习
查看>>
NET设计规范(二) 命名规范
查看>>
VMware 9.0.1安装Mac OS X Mountain Lion 10.8.2
查看>>
SSL延迟
查看>>
android新手关于左右滑动的问题,布局把<android.support.v4.view.ViewPager/><ImageView/> 放在上面就不行了。...
查看>>
深入理解DIP、IoC、DI以及IoC容器
查看>>
赋值文件
查看>>
Vue 数组 字典 template v-for 的使用
查看>>
蓝牙模块选择经验谈
查看>>
java中==和equals
查看>>
CCActionPageTurn3D
查看>>
python random
查看>>
esp32-智能语音-cli(调试交互命令)
查看>>