全网整合营销服务商

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

免费咨询热线: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 


相关文章: 网站制作公司排行榜,抖音怎样做个人官方网站  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?  Swift开发中switch语句值绑定模式  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何通过虚拟主机快速完成网站搭建?  如何用IIS7快速搭建并优化网站站点?  如何高效完成独享虚拟主机建站?  建站之星收费标准详解:套餐费用及年费价格表一览  用v-html解决Vue.js渲染中html标签不被解析的问题  微信小程序 五星评分(包括半颗星评分)实例代码  定制建站模板如何实现SEO优化与智能系统配置?18字教程  建站之星导航配置指南:自助建站与SEO优化全解析  如何通过cPanel快速搭建网站?  建站之星免费模板:自助建站系统与智能响应式一键生成  制作公司内部网站有哪些,内网如何建网站?  如何通过虚拟主机快速搭建个人网站?  如何登录建站主机?访问步骤全解析  内部网站制作流程,如何建立公司内部网站?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  网站制作员失业,怎样查看自己网站的注册者?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  建站之星后台管理如何实现高效配置?  已有域名和空间如何搭建网站?  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  购物网站制作公司有哪些,哪个购物网站比较好?  如何快速辨别茅台真假?关键步骤解析  实例解析angularjs的filter过滤器  如何打造高效商业网站?建站目的决定转化率  成都网站制作报价公司,成都工业用气开户费用?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  如何在IIS中新建站点并配置端口与物理路径?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  相册网站制作软件,图片上的网址怎么复制?  建站之星客服服务时间及联系方式如何?  网站网页制作专业公司,怎样制作自己的网页?  如何快速搭建虚拟主机网站?新手必看指南  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站之星与建站宝盒如何选择最佳方案?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何制作一个表白网站视频,关于勇敢表白的小标题?  建站主机选哪种环境更利于SEO优化?  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  临沂网站制作企业,临沂第三中学官方网站?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  家庭服务器如何搭建个人网站?  建站主机空间推荐 高性价比配置与快速部署方案解析  招商网站制作流程,网站招商广告语?  建站之星如何开启自定义404页面避免用户流失? 

您的项目需求

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