最近正在学习php入门,现在刚入门,所以许多都不知道,就从最基础的学起,不会的上网查,然后把它记在这个法宝内

就如今天遇到随即函数rand();脑海中想到用它做点啥好呢,最后想起了验证码,数字验证码,字母验证码,中文验证码,可是自己不会呀,咋办呢,上网搜,看别人的代码,开不懂,看视频,听老师讲,将其中所遇到的函数,值得注意的地方都拿笔记下,平常看到一般网页上的随机验证码都是以一定的方框包围起来,貌似就是以图片为背景的。经过边看,自己边敲,虽然遇到很多不会的问题,但是我相信只要自己脚踏实地,一定学会的。现在想做一下总结,自己可能写的很乱,可我相信有一天会实现的。1.产生数字的随机数 ——》创建图片——》随机数写进图片——》在图片加入干扰值(点,线)——》保持在session中——》在form表单中引用;随机函数:rand(int min,int max);万变不离其宗,我看了网上许多中生成随机数的代码,有数字和字母随机数,中文随机数(数组)等等;都离不开rand();代码如下(有的上网copy,希望各位不要见怪啊第一种:

$authnum='';

$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";

$list=explode(",",$ychar);//分割函数

for($i=0;$i<4;$i++){

$randnum=rand(0,35);

$authnum.=$list[$randnum];//以数组的形式输出

第二种:

private function createCheckCode()

{

for(i=0;icodeNum;i++)

{

number = rand(0,2);

switch(number)

{

case 0: rand_number = rand(48,57); break;//数字

case 1: rand_number = rand(65,90);break;//大写字母

case 2: rand_number = rand(97,122);break;//小写字母

}

$asc = sprintf("%c",rand_number);

$asc_number = asc_number.asc;

}

return asc_number;

}

第三种:

srand(microtime()*100000);//相当于计时器

$string="abcdefghigklmnopqrstuvwxyz123456789";

for($i=0;$i<4;$i++)

{

$new_number.=$string[rand(0,strlen($string)-1)];//随即的产生一个数组

}

第四种:

for($i=0;$i<4;$i++)

{

$rand.=dechex(rand(1,15));//将十进制转化为十六进制

}

GD库:(提供了一系列图片处理函数的IPI,生成图片处理图片)

启用php中GD库:php.ini配置文件中,去掉";extension=php_gd2.dll"中“;”;

部分GD库函数的介绍:1.imagecreatetruecolor(int x_size,int Y_size) 新建真彩色图像

2.imagecolorallocate(resource image,int red,int green,int blue) 为一幅图像分配颜色,三原色

3.imagestring(resource,font,int x,int y,content,color)绘图函数4.header("Content-type:image/jpeg") 输出函数php的header是定义头的动作,php5中支持3中类型: 1,Content-type:xxxx/yyyy 2,Location:xxxx:yyyy/zzzz 3,Status:nnn xxxxxx xxxx/yyyy表示内容文件的类型 如:image/gif image/jpeg image/png imagejpeg(),imagegif(),imagepang() 5.iamgeline(resource image,int x1,int y1,int x2,int y2,int color); 画线函数,(int x,int y)起始坐标6.imagesetpixel(resource image,int x,int y,int color) 画点函数7.imagettftext(resource image,float size,float angle,int x,int y,int color,string fontfile,string text) 带字体写入函数8.iconv("gb2312","utf-8","字符串"); //首先要将文字转换成utf-8格式 php验证码插入中文的方法。

随机生成数字,字母的代码:

//che.php

session_start();

for($i=0;$i<4;$i++)

{

$rand.=dechex(rand(1,15));

}

$_SESSION['check_num']=$rand;

$image=imagecreatetruecolor(50,30);

$bg=imagecolorallocate($im,0,0,0);//第一次用调色板的时候,背景颜色

$te=imagecolorallocate($im,255,255,255);

imagestring($image,6,rand(0,20),rand(0,2),$rand,$te);

ob_clean();//PHP网页中因为 要生成验证码而出现 图像"http://localhost/**.php"因其本身有错无法显示

header("Content-type:image/jpeg"); imagejpeg($image);

?>

给图片画出干扰线代码:

for($i=0;$i<8;$i++)//画出多条线

{

$cg=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//产生随机的颜色

imageline($im,rand(10,40),0,rand(10,40),20,$cg);

}

给图片画出干扰点的代码:

for($i=0;$i<80;$i++)//画出多个点

{

imagesetpixel($im,rand(0,40),rand(0,20),$cg);

}

把文字写入图片代码:

$str=array('我','我','亲','亲');//存储显示的汉字

for($i=0;$i<4;$i++)

{

$sss.=$str[rand(0,3)];//随机显示汉字

}

//$str=iconv("gb2312","utf-8",$str); //汉字编码转化,我的好像不需要

imagettftext($im,10,0,rand(5,60),rand(5,60),$te,"simhei.ttf",$sss);//

0:字体的倾斜度,“simhei.ttf”:字体样式,一般放在根目录下;

php设计验证码图片,PHP图片验证码制作实现分享(全)相关推荐

  1. 图片验证码和短信验证码开发

    图片验证码和短信验证码开发 tip :前后端分离,先开发后端,后完善前端 一.图片验证码流程 1.引入captcha包放入utils 不是独立的第三方包放入utils,独立的包放入libs里面 cap ...

  2. php gd图片验证,php笔记之GD库图片创建/简单验证码

    燕十八 公益PHP培训 课堂地址:YY频道88354001 学习社区:www.zixue.it php画图:比如说验证码,缩略图,加水印都要用到GD库,所以要开启gd2库,才能用 首先找到php.in ...

  3. 用Python模拟识别图片验证码并发送手机验证码

    1.导语 大家好,好久不见.又到每日分享Python小技能的时候了.最近因为疫情影响,所以更新内容比较慢-今天周一,就来更新一波,心血来潮,是时候上线经营了.其实也没想到有啥好分享的,不如分享一些干货 ...

  4. php图片验证码类,php图片验证码类

    [php] /** * 图片验证码类 * 生成图片类型验证码,验证码包含数字和大写字母,session中存放md5加密后的验证码 * * 使用方法: * $captcha = new Catpcha( ...

  5. 2020/11/03:图片验证码和短信验证码

    2020/11/03:图片验证码和短信验证码 图形验证码: 流程: 看懂前端代码,理清逻辑思路,画的出流程图 settings.py配置: # 缓存配置 CACHES = {'default': {' ...

  6. 微博模拟登陆的方法 + 图灵图像图片验证码识别平台 识别验证码(97%正确率)Python + Selenium+Chrome

    最近遇到一个问题,需要频繁切换账号登陆微博,但是需要识别微博的验证码,比较麻烦.而且因为需要24h不间断的操作,所以没法使用人工打码平台,而且打码平台也比较贵,延迟又高.最后找到了一个可以机器识别出来 ...

  7. Python(爬虫篇)--- 验证码破解【一】图片、文字验证码

    文章目录 一.图片验证码概述 (一)机器视觉 (二)OCR库概述 (1)Tesseract 简介 (2)Tesseract 缺点 二.方式一:Selenium手动打码 三.方式二:使用三方打码平台 ( ...

  8. 网页制作使用CSS样式制作轮播教程,静态网页设计与开发 1.案例——CSS3制作图片轮播图 (4)使用纯CSS3代码实现简单的图片轮播——分步骤实现.docx...

    使用纯CSS3代码实现简单的图片轮播 设计思路: 以5张图片为例: 1.基本布局: 通过设置每张图片的尺寸和父容器的尺寸,从而将5张图片横向并排放入一个div容器(#photos)内.所有图片设置统一 ...

  9. python制作验证码_Python编写生成验证码的脚本的教程

    在web开发中经常用到验证码,为了防止机器人注册或者恶意登陆和查询等,作用不容小觑 但是验证码其实不是一个函数就能搞定的,它需要生成图片和水印,其实每种语言都有相关的函数生成图片和文字水印.包括我熟悉 ...

最新文章

  1. 计算机网络第六章ppt课件,计算机网络与通信(第6章).ppt
  2. Go实现查找目录下(包括子目录)替换文件内容
  3. flex 错误信息类型及解决方法
  4. python所有软件-太牛逼!一款软件几乎可以操作所有的数据库!
  5. Python解析JSON数据的基本方法
  6. 值得投入精力的APP运营:用户、活动和数据!
  7. html表格两种颜色,html – 表格细胞两个颜色背景对角线
  8. 通用印刷体文字识别_腾讯云通用文字识别GeneralOCR-图片文字识别 印刷体文字识别...
  9. 计算机网络自顶向下方法 第四章 作业习题答案
  10. LaTeX入门——如何独立排版出一篇期刊论文
  11. cron表达式案例+cron在线生成器
  12. qq网吧弹框如何去掉?如何删掉NetBar文件夹?
  13. 城市与城乡规划用地分类和色块标准|CSV|C#程序|Excel
  14. 【python】短信验证之腾讯云短信验证详细步骤
  15. Java初始化大乱斗
  16. 从零开始发送数字签名邮件-outlook163邮箱windows
  17. 构筑企业供应链高效协同优势,智能供应链系统助推汽车服务行业数字化订单管理
  18. 什么是Activity?Activity的生命周期!
  19. 一个操作失误,阿里云大规模故障,引发大量吐槽
  20. 全程干货!人物设计是什么?如何设计出好看的人物?

热门文章

  1. 通信(服务器客户端的群聊与网络画板)
  2. English Pod 听力学习之路 C41 - C68
  3. get请求获得传递参数
  4. 锁屏上显示Activity
  5. 蓝桥寒假训练1-2013年第四届蓝桥杯省赛
  6. 第四讲:统计分析之良率和敏感度分析
  7. S2JH 自动审计@Audited 的问题
  8. 鼠标光标一直在闪烁_多模式、多设备连接---雷柏MT 750S 三模无线激光鼠标评测...
  9. 依赖、关联、聚合、组合
  10. 计算机键盘时好时坏,电脑鼠标时好时坏的解决方法