PHP实现变色验证码实例


Posted in PHP onJanuary 06, 2014
<?php 
header("Content-type: image/png,charset='utf-8'"); 
$im = imagecreatetruecolor(400, 30); 
//白色 
$white = imagecolorallocate($im, 255, 255, 255); 
//红色 
$red = imagecolorallocate($im, 255, 0, 0); 
//黑色 
$black=imagecolorallocate($im, 0, 0, 0); 
//绿色 
$green=imagecolorallocate($im, 0, 255, 0); 
//蓝色 
$blue=imagecolorallocate($im, 0, 0, 255); 
$color_arr=array($green,$blue,$red); 
$color=array_rand($color_arr); 
$text = '我靠这验证码太变态啦'; 
$textlen=iconv_strlen($text,'utf-8');//计算字符串长度 
//随机截取两个字符,变色显示 
$p1=rand(1,$textlen)-1; 
while(($p2=rand(1,$textlen)-1)==$p1); 
$w1=iconv_substr($text,$p1,1,'utf-8'); 
$w2=iconv_substr($text,$p1,1,'utf-8'); 
//字体文件 (PS:T不错的php Q扣?n:276167802,验证:csl) 
$font = 'simkai.ttf'; 
imagefilledrectangle($im, 0, 0, 399, 29, $white); 
for($i=0;$i<$textlen;$i++) 
{ 
if($i==$p1||$i==$p2) 
{ 
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $color_arr[$color], $font, iconv_substr($text,$i,1,'utf-8')); 
} 
else 
{ 
imagettftext($im, 15, 0, 20*($i-1)+20, 20, $black, $font, iconv_substr($text,$i,1,'utf-8')); 
} 
} 
imagepng($im); 
imagedestroy($im); 
?>

验证码中的字符并不是同一种颜色,让用户输入指定颜色的验证码,这样安全性会更好的。
PHP 相关文章推荐
用PHP调用数据库的存贮过程
Oct 09 PHP
第七节 类的静态成员 [7]
Oct 09 PHP
PHP4 与 MySQL 交互使用
Oct 09 PHP
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
Oct 13 PHP
PHP 翻页 实例代码
Aug 07 PHP
php中防止恶意刷新页面的代码小结
Oct 31 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
smarty模板引擎从配置文件中获取数据的方法
Jan 22 PHP
Symfony2创建基于域名的路由相关示例
Nov 14 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
PHP hebrev()函数用法讲解
Feb 21 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 26 PHP
有关于PHP中常见数据类型的汇总分享
Jan 06 #PHP
用php简单实现加减乘除计算器
Jan 06 #PHP
PHP面向对象之旅:深入理解static变量与方法
Jan 06 #PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 #PHP
php Calender(日历)代码分享
Jan 03 #PHP
深入解读php中关于抽象(abstract)类和抽象方法的问题分析
Jan 03 #PHP
PHP运行SVN命令显示某用户的文件更新记录的代码
Jan 03 #PHP
You might like
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
详解PHP中的Traits
2015/07/29 PHP
php 计算两个时间相差的天数、小时数、分钟数、秒数详解及实例代码
2016/11/09 PHP
php中上传文件的的解决方案
2018/09/25 PHP
extjs之去除s.gif的影响
2010/12/25 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
JS分割字符串并放入数组的函数
2011/07/04 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
Three.js快速入门教程
2016/09/09 Javascript
jquery select2的使用心得(推荐)
2016/12/04 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
BootStrap模态框闪退问题实例代码详解
2018/12/10 Javascript
ES6 迭代器与可迭代对象的实现
2019/02/11 Javascript
微信小程序实现的canvas合成图片功能示例
2019/05/03 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
[39:18]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第二场 12.17
2020/12/19 DOTA
Python中的闭包详细介绍和实例
2014/11/21 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
python3写的简单本地文件上传服务器实例
2018/06/04 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
2019/02/13 Python
python实现两个经纬度点之间的距离和方位角的方法
2019/07/05 Python
python读取tif图片时保留其16bit的编码格式实例
2020/01/13 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
Python list和str互转的实现示例
2020/11/16 Python
Html5中localStorage存储JSON数据并读取JSON数据的实现方法
2017/02/13 HTML / CSS
大学生大二自我鉴定
2013/10/28 职场文书
房地产还款计划书
2014/01/10 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
培训主管岗位职责
2014/02/01 职场文书
计生办班子群众路线教育实践活动个人对照检查材料思想汇报
2014/10/04 职场文书
公司给客户的感谢信
2015/01/23 职场文书
Python实现滑雪小游戏
2021/09/25 Python
Redis高并发缓存架构性能优化
2022/05/15 Redis
nginx静态资源的服务器配置方法
2022/07/07 Servers