php生成酷炫的四个字符验证码

yipeiwu_com6年前PHP代码库

本文实例为大家分享php生成验证码的实现代码,供大家参考,具体内容如下

<?php
$im=imagecreate(200,100);//生成画布
imagecolorallocate($im,0,0,0);//背景色
$white=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//生成随机颜色
for($i=0;$i<9;$i++)
{
 imageline($im,rand(0,200),rand(0,100),rand(0,200),rand(0,100),$white);//生成干扰线条元素
}
for($i=0;$i<150;$i++)
{
 imagesetpixel($im,rand(0,200),rand(0,100),$white);//生成干扰点元素
}
for($i=0,$str='';$i<4;$i++)//通过循环获得四个字符
{
 switch(rand(1,3))
 {
  case'1':
  $ch=rand(0,9);
  break; 
  case'2':
  $ch=sprintf('%c',rand(97,122));
  break;
  case'3':
  $ch=sprintf('%c',rand(65,90));
  break;
 }
  $str.=$ch;

}
imagettftext($im,32,rand(0,15),55,70,$white,'c.ttc',$str);//在画布上输出字符串
header("Content-type:image/jpeg");
imagejpeg($im);
imagedestroy($im);
?>

以上就是本文的全部内容,希望对大家学习PHP程序设计有所帮助。

相关文章

thinkphp微信开发(消息加密解密)

使用thinkphp官方的WeChat包,使用不同模式可以成功,但是安全模式就是不行,现将分析解决结果做下记录。 分析问题:      ...

PHP与SQL注入攻击[三]

这几天太忙,继续连载哈哈,争取半个月结束。 上文说到数据库自带的不安全输入过滤功能,但这样的功能不是所有数据库都有的。目前大概只有MySQL,SQLite,PostgreSQL,Syba...

Linux下实现PHP多进程的方法分享

PHP多进程:使用PHP的Process Control Functions(PCNTL/线程控制函数) 函数参考可见:http://www.php.net/manual/zh/ref....

解析php中const与define的应用区别

1、const用于类成员变量定义,一旦定义且不能改变其值。define定义全局常量,在任何地方都可以访问。2、define不能在类中定义而const可以。3、const不能在条件语句中定...

PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析

本文实例分析了PHP5.0~5.6 各版本兼容性cURL文件上传功能。分享给大家供大家参考,具体如下: 最近做的一个需求,要通过PHP调用cURL,以multipart/form-dat...