当前位置:首页 > PHP > 正文内容

php生成验证码

高老师9年前 (2017-07-02)PHP1986
<?php
//高先生简单验证码.
//随机数
//为什么循环0-15的数字
//因为要实现最简单的字母和数字混搭
//16进制0-9   a-f
//dechex 十进制转换为16进制
//创建一个四位的验证码.
//$nmsg.  将每次循环的值累计起来
 
for($i=0;$i<4;$i++){
 
$nmsg.=  dechex(mt_rand(0,15));
 
}
//验证码数组准备完成,开始绘图
 
ob_clean(); 
 
//设定标头.告诉浏览器你要生成的MIME类型
header('Content-type:image/png');
 
//创建一个图形区域.赋值给资源句柄
 
$im=imagecreatetruecolor(75,25);
 
//在空白的图像区域绘制填充背景

$blue=imagecolorallocate($im,0,102,255);  //颜色1  背景
$white=imagecolorallocate($im,255,255,255);  //颜色2   文字
imagefill($im,0,0,$blue);  //填充颜色
 
//生成文本信息.将验证码的字符串写入图片.
 
imagestring($im,5,18,5,$nmsg,$white);
 
//输出最终图形
imagepng($im);
 
//清除占用的资源
imagedestroy($im);
 
?>

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/30.html

分享给朋友:

“php生成验证码” 的相关文章

Thinkphp Call Stack,PHP调用栈Call Stack的获取

Thinkphp Call Stack,PHP调用栈Call Stack的获取

ThinkPHP中有一个debug调试功能,能输出报错文件的信息,并能看到这个函数被哪些函数调用,从框架的启动开始记录,特别方便调试。于是研究了下它的底层给予了实现。<?php //--框架核心--Start //框架内置错误处理 function errDealWith($er...

swoole中的worker_num和task_worker_num

swoole中的worker_num和task_worker_num

(1)swoole启动的主进程是master进程负责全局管理,然后master进程会再fork一个manager进程。(2)manager进程开始统一管理进程创建回收管理。(3)manager进程根据设置的worker_num和task_worker_num来创建work进程和task进程因此启动s...

php爬虫执行js,php执行js

php爬虫执行js,php执行js

当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。第一种:使用phpv8js扩展执行js代码。(pecl...

stream_socket_accept设置非阻塞,socket_accept设置非阻塞

stream_socket_accept设置非阻塞,socket_accept设置非阻塞

编写socket服务检测是否有新连接加入都要使用stream_socket_accept和socket_accept来获取,但是默认是阻塞的,想要更换为非阻塞并不能用stream_set_blocking($socket, false),因为stream_set_blocking只是设置socket...

php获取指定日期区间的所有日期,php输出指定范围的所有日期

php获取指定日期区间的所有日期,php输出指定范围的所有日期

php输出指定范围的所有日期函数,网上别人封装的,道理很简单,获取最大值和最小值的时间戳,然后+1day即可,测试有效function periodDate($startDate, $endDate) {     $startTime&nb...

redis延迟队列php,php redis延迟队列,redis延迟队列

redis延迟队列php,php redis延迟队列,redis延迟队列

记得在上一家公司时公司没有延迟队列,直接使用redis list进行使用,如果不到执行时间则继续丢回去,这样的方式太浪费IO,而且没办法保证执行顺序。本文没有使用有赞的redis延迟队列设计,使用的是redis有序集合的特性来完成。大致思路如下:(1).下单成功通过zadd key score va...