php登录个性验证码,PHP七种不同的个性创意验证码例子

20160419221740117.jpg.png

验证码图片html代码:

1.php

第一个图像验证码类,其他6种验证码类请下载查看:

class captcha{

/**

+----------------------------------------------------------

* 生成验证码

+----------------------------------------------------------

* @static

* @access public

+----------------------------------------------------------

* @param int $len  验证码字符数

* @param int $font_size  验证码字体大小

* @param string $name  session名称

* @param int $width  图片长度

* @param int $height  图片高度

+----------------------------------------------------------

* @return void

+----------------------------------------------------------

*/

static function generate($len=4,$font_size=48,$name='captcha',$width='',$height=''){

if($width=='') $width=($font_size+5)*($len+1);

if($height=='') $height=($font_size)*2;

$chars='bcdefhkmnrstuvwxyABCDEFGHKMNPRSTUVWXY345689';

$str='';

for($i=0;$i

$str .= substr($chars,mt_rand(0,strlen($chars)-1),1);

}

$_SESSION[$name]=$str;//写入session

for($num=0;$num<10;$num++){

ob_start();

$image=imagecreatetruecolor($width,$height);//创建图片

$bg_color=imagecolorallocate($image,255,255,255);//设置背景颜色

$border_color=imagecolorallocate($image,100,100,100);//设置边框颜色

$text_color=imagecolorallocate($image,0,0,0);//设置验证码颜色

imagefilledrectangle($image,0,0,$width-1,$height-1,$bg_color);//填充图片背景色

imagerectangle($image,0,0,$width-1,$height-1,$border_color);//填充图片边框颜色

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

$line_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰线颜色

imageline($image,rand(0,$width),0,$width,$height,$line_color);//画一条线段

}

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

$dot_color=imagecolorallocate($image,rand(0,255),rand(0,255),rand(0,255));//干扰点颜色

imagesetpixel($image,rand()%$width,rand()%$height,$dot_color);//画一个像素点

}

for($i=0;$i

imagettftext($image,$font_size,rand(-3,3),$font_size/2+($font_size+5)*$i,$height/1.25-rand(2,3),$text_color,'Groupsex.ttf',$str[$i]);//用规定字体向图像写入文本

}

imagegif($image);

imagedestroy($image);

$imagedata[] = ob_get_contents();

ob_clean();

}

require('GIFEncoder.class.php');

$gif = new GIFEncoder($imagedata);

ob_clean();//防止出现'图像因其本身有错无法显示'的问题

header('Content-type:image/gif');

echo $gif->GetAnimation();

}

}

//调用示例

session_start();

captcha::generate(6,48);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/489624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突发!ASML断供中芯国际

来源&#xff1a;芯榜据日经新闻6日报道&#xff0c;荷兰半导体设备供应商阿斯麦尔&#xff08;ASML&#xff09;供应极紫外光&#xff08;EUV&#xff09;光刻机给中芯国际的计划已经中止&#xff0c;多位ASML供应商关系人士指出&#xff0c;ASML是为了避免因供应最先进的设备…

字符串相似度匹配算法python_算法字符串相似度得分/哈希

有趣的问题。我在这一领域的经验有限&#xff0c;但由于Levenshtein距离满足三角形不等式&#xff0c;我认为必须有一种方法来计算到原点的某种绝对距离&#xff0c;以便在不与整个数据库中的所有条目进行直接比较的情况下找到彼此邻近的字符串。在第26页&#xff0c;他讨论了基…

马化腾:微信将被谁颠覆,领衔下一代互联网的终端居然是?

来源&#xff1a;梧桐会导语1&#xff64;10年一更替&#xff0c;互联网格局将如何演变&#xff1f;2&#xff64;第三代互联网谁主沉浮&#xff1f;3&#xff64;谁是下一个苹果&#xff0c;谁是下一个诺基亚&#xff1f;4&#xff64;全球科技巨头的下一步动作是什么&#xf…

PHP基础班初学感悟

不知不觉差不多一个月就过去了 刚到培训班那时候的心情&#xff0c;现在也还能有所感觉 作为今年6月份的毕业生&#xff0c;刚从大学的实习期出来&#xff0c;辞掉了上一份工作&#xff0c;本来是打算找一份更加与专业挂钩的工作做的 也许是90后对网络的情有独钟&#xff0c;亦…

matlab trendsurface,MATLAB 添加新的预测性维护产品

图1&#xff1a;源自脉宽调制波形的脉宽趋势和跟踪。中心迹线(橙色)是脉宽的跟踪。该波形包含与采集波形相同的100k个点。对每个测量值进行升采样(upsampled&#xff0c;即加大采样率)以匹配源波形每个周期的持续时间。跟踪图始终与源波形同步。由于跟踪功能具有时间同步特性&a…

苹果一键越狱工具_最新苹果越狱工具现世,可越狱所有iOS版本!

出于安全原因考虑&#xff0c;apple默认是不允许用户有iPhone和其他iOS设备的完全控制权限。越狱是指通过利用iOS操作系统中的漏洞使得可以通过定制的软件来获取设备的root和完全访问权限。近日&#xff0c;一个由黑客、安全研究人员和逆向工程师组成的团队——Unc0ver&#xf…

你认识的世界与客观世界间差了N光年

想象一下这样的场景&#xff0c;你得到一个金属盒子并被告知不可能知道盒子里的内容。你可以尝试钻它&#xff0c;烧它&#xff0c;用 X 射线照它&#xff0c;摇晃它&#xff0c;打破它以及其他各种手段&#xff0c;但是你永远无法打开它或者知道里面是什么。这个盒子里装着的就…

php.h: No such file or directory

建立一个php的include路径到/usr/include的软连接就好了 ln -s /usr/include/php-zts/* /usr/include/转载于:https://www.cnblogs.com/yangxunwu1992/p/6059286.html

区块链 matlab,matlab可以实现区块链吗?

用MATLAB实现区块链:把区块对象连成链现在可以把区块连成区块链了&#xff0c;我们用一个新的类叫做BlockChain来模拟它。 首先规定该链中的第一个block可以直接产生&#xff0c;就是genesisblock,这就是上面Block的construtor中&#xff0c;输入参数个数等于2是返回的对象.cla…

qt 通过类实现画图_QT案例IDE编写 通过枚举实现编码切换

低谷期一定要默默的熬过去&#xff0c;别去打扰任何人&#xff0c;否则留下的只是别人的笑柄&#xff0c;不论幸或不幸&#xff0c;你的挣扎无人能见&#xff0c;无人能懂。。。---- 网易云热评一、定义一个枚举enum MyCode{ utf_8,gbk};二、定义一个枚举变量&#xff0c;默…

美国在人工智能领域亟待解决的5大难题

来源&#xff1a;战略前沿技术据C4ISRNET网站报道&#xff0c;根据2018年《国防授权法案》&#xff0c;美国国会组建了由多名技术专家组成的人工智能国家安全委员会&#xff0c;以指导美国人工智能技术的发展。该委员会由谷歌母公司Alphabet前负责人埃里克施密特&#xff08;Er…

查看ie保存的表单_小学信息技术gt;搜索保存网页教师资格证面试模板

中小学教师资格证考试面试真题备考纸&#xff1a;小学信息技术《搜索保存网页》微博中小学教师资格证考试小学信息技术《搜索保存网页》一、考题回顾试讲题目1.题目&#xff1a;搜索保存网页2.内容&#xff1a;搜索引擎是一个对因特网上的信息资源进行搜集整理&#xff0c;为人…

一线专家谈2020年人工智能落地趋势

来源&#xff1a;海豚大数据及人工智能实验室转眼间&#xff0c;2019年只剩下不到两个月了。人工智能的热度依旧&#xff0c;只是在资本市场&#xff0c;看空的投资人也越来越多了。从当年大数据的发展趋势看&#xff0c;这种情况反而对产业发展是有利的。因为这意味着&#xf…

C# DataSet转JSON

经常会遇到系统数据交互采用JSON数据格式进行交互的&#xff0c;避免不必要的重复工作&#xff0c;记录下自己的处理方式。 获取数据集之后&#xff0c;通过函数对数据集信息进行整理通过.Net Framework3.5提出的JavaScriptSerializer类进行DataSet数据的序列化&#xff0c; 需…

zset中的score_Redis 在项目中合理使用经验总结

背景Redis 是一个开源的内存数据结构存储系统。可以作为数据库、缓存和消息中间件使用。支持多种类型的数据结构。Redis 内置了 复制&#xff08;replication&#xff09;&#xff0c;LUA脚本&#xff08;Lua scripting&#xff09;&#xff0c; LRU驱动事件&#xff08;LRU ev…

八种颠覆未来作战的前沿技术

来源&#xff1a;军事高科技在线目录一、颠覆未来作战的前沿技术系列——脑科学二、颠覆未来作战的前沿技术系列——人体增强三、颠覆未来作战的前沿技术系列——石墨烯四、颠覆未来作战的前沿技术系列——超材料五、颠覆未来作战的前沿技术系列——太赫兹技术六、颠覆未来作战…

Linux下查看/管理当前登录用户及用户操作历史记录

转载自&#xff1a; http://www.cnblogs.com/gaojun/archive/2013/10/24/3385885.html 一、查看及管理当前登录用户 1、使用w命令查看登录用户正在使用的进程信息&#xff0c;w命令用于显示已经登录系统的用户的名称&#xff0c;以及他们正在做的事。该命令所使用的信息来源于/…

python狗图像识别_TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片

本文是Python通过TensorFlow卷积神经网络实现猫狗识别的姊妹篇&#xff0c;是加载上一篇训练好的模型&#xff0c;进行猫狗识别本文逻辑&#xff1a;我从网上下载了十几张猫和狗的图片&#xff0c;用于检验我们训练好的模型。处理我们下载的图片加载模型将图片输入模型进行检验…

Java对象垃圾回收调用,JVM垃圾回收之哪些对象可以被回收

1.背景Java语言相比于C和C&#xff0c;一个最大的特点就是不需要程序员自己手动去申请和释放内存&#xff0c;这一切交由JVM来完成。在Java中&#xff0c;运行时的数据区域分为程序计数器、Java虚拟机栈、本地方法栈、方法区和堆。其中&#xff0c;程序计数器、虚拟机栈和本地方…

hp

命令组成hpacucli [parametervalue] 查看&#xff1a; 查看所有控制器状态 hpacucli ctrl all show 查看slot 0阵列信息详细状态 &#xff08;可以查看物理磁盘和逻辑磁盘的对应关系&#xff09;1&#xff09;hpacucli ctrl slot0 show config detail2&#xff09;hpacucli ct…