文档章节

PHP 验证码

phpweishunlong
 phpweishunlong
发布于 2017/04/27 23:05
字数 184
阅读 5
收藏 0
GD

####准备 $len = 4; //显示验证码的字符个数 $h = 40; //画布高 $w = 20 * $len; //画布宽

####准备画布 $im = imagecreatetruecolor($w, $h);

####分配颜色 $b = imagecolorallocate($im, 255, 255, 255); $bg = imagecolorallocate($im, 100, 100, 100);

imagefill($im, 0,0, $bg);

####写字 $str = '345678wertyupasdfghjkxcvbnmQWERTYUPASDFGHJKLXCVBNM'; $yzm = ''; for ($i = 0; $i < $len; $i++) { $xb = mt_rand(0, strlen($str)-1); $yzm .= $str[$xb]; imagefttext($im, 20, mt_rand(-25, 25), 18*$i, 30, $b, './msyhbd.ttf', $str[$xb]); }

//将拼接好的字符放入session中
$_SESSION['yzm'] = $yzm;

####随机画点 for ($i = 0; $i < 100; $i++) { $ys = imagecolorallocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); imagesetpixel($im, mt_rand(0, $w), mt_rand(0, $h), $ys); }

####随机画干扰线 for ($i = 0; $i < 10; $i++) { $ys = imagecolorallocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); imageline($im, mt_rand(0, $w), mt_rand(0, $h), mt_rand(0, $w), mt_rand(0, $h), $ys); }

####输出图像 header("content-type:image/png"); imagepng($im);

####销毁资源 imagedestroy($im);

© 著作权归作者所有

上一篇: PHP 饼状图
下一篇: PHP GD八卦图
phpweishunlong
粉丝 1
博文 64
码字总数 26288
作品 0
广州
程序员
私信 提问
TODO:Laravel增加验证码

TODO:Laravel增加验证码 1. 先聊聊验证码是什么,有什么作用? 验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和...

OneTODO
2016/12/22
37
0
PHP 画图应用 验证码 柱状图

Title: PHP 画图应用 验证码 柱状图 Author: MoreWindows Blog: http://blog.csdn.net/MoreWindows KeyWord: PHP 验证码 柱状图 imagefilledarc 阅读本文之前,推荐先参阅姊妹篇《PHP 画图基...

彭博
2012/04/12
118
0
Minho/php-captcha

php-captcha 简单的php验证码库。 PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有: 1、产生一张p...

Minho
2017/01/15
0
0
php如何实现验证码

验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现的验证码。 验证码在表单实现越来越多了,但是用js的写的验证码,总觉得不方便,所以学习了下php实现...

snowing1990
2016/04/15
31
0
php利用云片网实现短信验证码功能

本文将以php举例,介绍网页短信验证码功能的实现。 在众多的第三方短信服务商中我选择了云片网这个短信服务商,本文也将尽可能利用最简单的方式去帮助广大开发者解决短信验证码功能模块的实现...

爱前端的小白
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

rsync工具常用选项以及同步的两种方式

rsync -av /etc/passwd /tmp/1.txt #rsync的本机传输写法 rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt #rsync的远程传输rsync格式rsync [OPTION] … SRC ......

林怡丰
今天
3
0
GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238

GatewayWorker 报错:stream_socket_server(): unable to connect to tcp://0.0.0.0:1238 (Address already in use) 官方文档虽然有相同的问题,但是对我的问题没起作用…… 后面发现自己手贱...

wenzhizhong
昨天
3
0
REST接口

文章来源 https://zhuanlan.zhihu.com/p/28674721?group_id=886181549958119424 http://www.ruanyifeng.com/blog/2014/05/restful_api.html REST 对请求的约定 REST 用来规范应用如何在 HTTP......

Airship
昨天
6
0
Spring Cloud Config 统一配置中心

Spring Cloud Config 统一配置中心 一、统一配置中心 统一管理配置 通常,我们会使用配置文件来管理应用的配置。如一个 Spring Boot 的应用,可以将配置信息放在 application.yml 文件中,如...

非摩尔根
昨天
6
0
android ------ AAPT2 error: check logs for details解决方法

AAPT 是全称是 Android Asset Packaging Tool,它是构建 App,甚至是构建 Android 系统都必不可少的一个工具。它的作用是将所有资源文件压缩打包到Android APK 当中。我们在 Android SDK 目录...

切切歆语
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部