全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

利用php生成验证码

话不多说,请看代码:

<?php 
/**
 * php生成验证码
 * @param $width 画布宽
 * @param $height 画布高
 * @param $vcodelen 验证码长度
 * @param $pointnum 干扰像素点数量
 * @param $linenum 干扰线条数量
 *
 * 思路:创建验证码画布,生成并填充背景色,生成验证码内容/干扰像素点/线,填充到画布,输出。
 */
 $width = 100;
 $height = 30;
 $vcodelen = 4;
 $pointnum = 200;
 $linenum = 3;
 // 创建画布
 $image = imagecreatetruecolor($width, $height);
 // 创建色块
 $bgcolor = imagecolorallocate($image, 255, 255, 255);
 // 填充画布背景色
 imagefill($image, 0, 0, $bgcolor);
 // 验证码内容
 for ($i=0; $i < $vcodelen; $i++) { 
  // 字体大小
  $fontsize = 5;
  // 字体颜色,颜色在限定范围内随机
  $fontcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
  $data = 'abcdefghijklmnopqrstuvwxyz0123456789';
  // 验证码内容在以上字符串内随机截取
  $fontcontent = substr($data, rand(0,strlen($data)),1);
  // 字符串显示位置
  $x = ($i*$width/4)+rand(5,15);
  $y = rand(5,10);
  // 字符串填充图片
  // imagestring的字体大小可选1-5,字体再大需要用imagettftext函数(需要字体文件)
  imagestring($image, $fontsize, $x, $y, $fontcontent, $fontcolor);
  // imagettftext($image, $fontsize, 0, $x, $y, $fontcolor, '/font/Geneva.dfont', $fontcontent);
 }
 // 干扰像素点
 for ($i=0; $i < $pointnum; $i++) { 
  $pointcolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
  // 画布填充像素点函数
  imagesetpixel($image, rand(0,$width), rand(0,$height), $pointcolor);
 }
 // 干扰线条
 for ($i=0; $i < $linenum; $i++) { 
  $linecolor = imagecolorallocate($image, rand(0,120), rand(0,120), rand(0,120));
  // 画布填充线条函数
  imageline($image, rand(0,$width), rand(0,$height), rand(0,$width), rand(0,$height), $linecolor);
 }
 // 图片输出格式
 header('content-type: image/png');
 // 输出验证码图片
 imagepng($image);
 // 销毁画布
 imagedestroy($image);
?>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# php  # 验证码  # 生成验证码  # PHP实现生成带背景的图形验证码功能  # PHP 极验验证码实例讲解  # PHP生成图片验证码功能示例  # 一个漂亮的php验证码类(分享)  # php图片验证码代码  # PHP生成图片验证码、点击切换实例  # PHP验证码类代码( 最新修改  # 完全定制化! )  # PHP使用CURL实现对带有验证码的网站进行模拟登录的方法  # 完美解决thinkphp验证码出错无法显示的方法  # php发送短信验证码完成注册功能  # 背景色  # 可选  # 多说  # 需要用  # 再大  # imagefill  # fontsize  # imagecolorallocate  # imagecreatetruecolor  # bgcolor  # image  # brush  # lt  # rand  # pre  # class  # vcodelen  # pointnum 


相关文章: 小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  制作证书网站有哪些,全国城建培训中心证书查询官网?  常州自助建站费用包含哪些项目?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  如何获取PHP WAP自助建站系统源码?  音响网站制作视频教程,隆霸音响官方网站?  网站制作网站,深圳做网站哪家比较好?  IOS倒计时设置UIButton标题title的抖动问题  建站主机如何安装配置?新手必看操作指南  如何在服务器上配置二级域名建站?  如何通过二级域名建站提升品牌影响力?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  招商网站制作流程,网站招商广告语?  学校为何禁止电信移动建设网站?  c# await 一个已经完成的Task会发生什么  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  如何用PHP快速搭建高效网站?分步指南  魔方云NAT建站如何实现端口转发?  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  建站之星后台管理:高效配置与模板优化提升用户体验  小型网站制作HTML,*游戏网站怎么搭建?  内网网站制作软件,内网的网站如何发布到外网?  深入理解Android中的xmlns:tools属性  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站之星安装后界面空白如何解决?  如何在西部数码注册域名并快速搭建网站?  建站之星如何配置系统实现高效建站?  青岛网站建设如何选择本地服务器?  如何在七牛云存储上搭建网站并设置自定义域名?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何设置并定期更换建站之星安全管理员密码?  如何选择高效稳定的ISP建站解决方案?  ,购物网站怎么盈利呢?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  代刷网站制作软件,别人代刷火车票靠谱吗?  javascript中对象的定义、使用以及对象和原型链操作小结  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站主机与服务器功能差异如何区分?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  如何解决ASP生成WAP建站中文乱码问题?  建设网站制作价格,怎样建立自己的公司网站?  如何快速搭建高效简练网站?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  网站制作软件免费下载安装,有哪些免费下载的软件网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  制作网站怎么制作,*游戏网站怎么搭建? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。