深圳市金黑网络技术有限公司:主营高端网站建设,网络推广,商城/系统开发,公众号小程序app开发等业务。
php生成简单验证码代码案例
  1. <?php
  2. //第一步:创建随机字符串
  3. //1.1  创建字符数组
  4. $all_array=array_merge(range('a','z'),range('A','Z'),range(0,9));        //所有字符数组
  5. $div_array=['1','l','0','o','O','I'];        //去除容易混淆的字符
  6. $array=array_diff($all_array,$div_array);        //剩余的字符数组
  7. unset($all_array,$div_array);                //销毁不需要使用的数组
  8. //1.2        随机获取4个字符
  9. $index=array_rand($array,4);        //随机取4个字符,返回字符下标,按先后顺序排列
  10. shuffle($index);        //打乱字符
  11. //1.3        通过下标拼接字符串
  12. $code='';
  13. foreach($index as $i){
  14.         $code.=$array[$i];
  15. }
  16. //第二步:创建画布
  17. $img=imagecreate(150,30);
  18. imagecolorallocate($img,255,0,0);                        //分配背景色
  19. $color=imagecolorallocate($img,255,255,255);        //分配前景色
  20. //第三步:将字符串写到画布上
  21. $font=5;                //内置5号字体
  22. $x=(imagesx($img)-imagefontwidth($font)*strlen($code))/2;
  23. $y=(imagesy($img)-imagefontheight($font))/2;
  24. imagestring($img,$font,$x,$y,$code,$color);
  25. //显示验证码
  26. header('content-type:image/gif');
  27. imagegif($img);
复制代码
小结
  • range():生成指定范围的数组
  • array_merge():合并数组
  • array_diff():计算数组的差集
  • array_rand():随机获取数组元素
  • shuffle():打乱数组
  • 去除容易混淆的字符
  • 数组要打乱
  • 起始点x=(图片宽度-字符串宽度)/2        字符串宽度=字符的宽度*字符的个数
  • 起始点y=(图片高度-字符高度)/2

推荐给好友: [复制链接]
推荐文章
回复

使用道具 举报

相关文章

发布主题
  • 网站建设

    高端网站设计制作

  • 模板制作

    仿站/效果图转模板

  • 网络推广

    关键词优化/全网推广

  • 技术维护

    网站维护/异常处理

  • 小程序开发

    公众号/小程序开发

  • 系统开发

    商城系统/各类系统开发

  • 定制开发流程

    业务咨询 | 提交需求 | 报价报时 | 付款开工

    联系我们
  • 今日更新:0 昨日更新:0
  • 会员总数:462 模板总数:9876
全国最大PB建站模板下载平台
在线技术QQ

515138

周一至周日9:00-23:00

如有侵权请联系我们

515138@qq.com 在线QQ咨询

微信扫码关注我们