php 生成随机验证码图片代码

 更新时间:2010年02月08日 08:52:59   作者:  
一个最简单的生成随机验证码图片的例子

复制代码 代码如下:

<?php
/** 默认首页 **/
class DefaultController extends AppController
{
public function index() {
$len = 5;
$str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789";

$im = imagecreatetruecolor ( 70, 20 );
$bgc = imagecolorallocate($im, 255, 255, 255);
$bgtxt = imagecolorallocate($im, 220, 220, 220);

//随机调色板
$colors = array(
imagecolorallocate($im, 255, 0, 0),
imagecolorallocate($im, 0, 200, 0),
imagecolorallocate($im, 0, 0, 255),
imagecolorallocate($im, 0, 0, 0),
imagecolorallocate($im, 255, 128, 0),
imagecolorallocate($im, 255, 208, 0),
imagecolorallocate($im, 98, 186, 245),
);

//填充背景色
imagefill($im, 0, 0, $bgc);

//随机获取数字
$verify = "";
while (strlen($verify) < $len) {
$i = strlen($verify);
$random = $str[rand(0, strlen($str))];
$verify .= $random;

//绘制背景文字
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $bgtxt);
//绘制主文字信息
imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $colors[rand(0, count($colors)-1)]);
}

//添加随机杂色
for($i=0; $i<100; $i++) {
$color = imagecolorallocate($im, rand(50,220), rand(50,220), rand(50,220));
imagesetpixel($im, rand(0,70), rand(0,20), $color);
}

//将验证码存入$_SESSION中
sess("verify", $verify);

//输出图片并释放缓存
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
}
};
?>

相关文章

  • PHP实现的mysql读写分离操作示例

    PHP实现的mysql读写分离操作示例

    这篇文章主要介绍了PHP实现的mysql读写分离操作,简单讲述了mysql读写分离的原理,并结合实例形式给出了php针对mysql的读写sql语句操作不同数据库的相关实现技巧,需要的朋友可以参考下
    2018-05-05
  • 初识php MVC

    初识php MVC

    MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
    2014-09-09
  • php遍历、读取文件夹中图片并分页显示图片的方法

    php遍历、读取文件夹中图片并分页显示图片的方法

    这篇文章主要介绍了php遍历、读取文件夹中图片并分页显示图片的方法,涉及php针对文件与目录的遍历操作相关技巧,需要的朋友可以参考下
    2016-11-11
  • php使用Swoole与WebSocket实现弹幕效果的示例代码

    php使用Swoole与WebSocket实现弹幕效果的示例代码

    在本文中,我们将深入探讨如何使用Swoole与WebSocket结合,实现弹幕效果,并着重强调需要注意的关键地方,以确保我们的弹幕系统能够高效、稳定地运行,感兴趣的朋友可以参考下
    2024-02-02
  • 解决file_get_contents无法请求https连接的方法

    解决file_get_contents无法请求https连接的方法

    PHP.ini默认配置下,用file_get_contents读取https的链接,就会报如下错误,本文给出解决方法
    2013-12-12
  • PHP入门教程之图像处理技巧分析

    PHP入门教程之图像处理技巧分析

    这篇文章主要介绍了PHP入门教程之图像处理技巧,结合实例形式分析了图形图像的创建与显示方法,并附带了创建图形验证码及缩略图等应用的具体示例,需要的朋友可以参考下
    2016-09-09
  • php可应用于面包屑导航的迭代寻找家谱树实现方法

    php可应用于面包屑导航的迭代寻找家谱树实现方法

    这篇文章主要介绍了php可应用于面包屑导航的迭代寻找家谱树实现方法,涉及php迭代的技巧与应用方法,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • PHP微信开发之微信录音临时转永久存储

    PHP微信开发之微信录音临时转永久存储

    这篇文章主要为大家详细介绍了PHP微信开发之微信录音临时转永久存储,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • redis 队列操作的例子(php)

    redis 队列操作的例子(php)

    Reids是一个比较高级的开源key-value存储系统,采用ANSI C实现。其与memcached类似,但是支持持久化数据存储
    2012-04-04
  • 对PHP新手的一些建议(PHP学习经验总结)

    对PHP新手的一些建议(PHP学习经验总结)

    这篇文章主要介绍了对PHP新手的一些建议,这是本人学习PHP过程中的经验总结,一切都源自切身体会,需要的朋友可以参考下
    2014-08-08

最新评论