php图片验证码代码


Posted in PHP onMarch 27, 2008
<?php 
    //文件头... 
    header("Content-type: image/png"); 
    //创建真彩色白纸 
    $im = @imagecreatetruecolor(50, 20) or die("建立图像失败"); 
    //获取背景颜色 
    $background_color = imagecolorallocate($im, 255, 255, 255); 
    //填充背景颜色(这个东西类似油桶) 
    imagefill($im,0,0,$background_color); 
    //获取边框颜色 
    $border_color = imagecolorallocate($im,200,200,200); 
    //画矩形,边框颜色200,200,200 
    imagerectangle($im,0,0,49,19,$border_color);     //逐行炫耀背景,全屏用1或0 
    for($i=2;$i<18;$i++){ 
        //获取随机淡色         
        $line_color = imagecolorallocate($im,rand(200,255),rand(200,255),rand(200,255)); 
        //画线 
        imageline($im,2,$i,47,$i,$line_color); 
    } 
    //设置字体大小 
    $font_size=12; 
    //设置印上去的文字 
    $Str[0] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
    $Str[1] = "abcdefghijklmnopqrstuvwxyz"; 
    $Str[2] = "01234567891234567890123456"; 
    //获取第1个随机文字 
    $imstr[0]["s"] = $Str[rand(0,2)][rand(0,25)]; 
    $imstr[0]["x"] = rand(2,5); 
    $imstr[0]["y"] = rand(1,4); 
    //获取第2个随机文字 
    $imstr[1]["s"] = $Str[rand(0,2)][rand(0,25)]; 
    $imstr[1]["x"] = $imstr[0]["x"]+$font_size-1+rand(0,1); 
    $imstr[1]["y"] = rand(1,3); 
    //获取第3个随机文字 
    $imstr[2]["s"] = $Str[rand(0,2)][rand(0,25)]; 
    $imstr[2]["x"] = $imstr[1]["x"]+$font_size-1+rand(0,1); 
    $imstr[2]["y"] = rand(1,4); 
    //获取第4个随机文字 
    $imstr[3]["s"] = $Str[rand(0,2)][rand(0,25)]; 
    $imstr[3]["x"] = $imstr[2]["x"]+$font_size-1+rand(0,1); 
    $imstr[3]["y"] = rand(1,3); 
    //写入随机字串 
    for($i=0;$i<4;$i++){ 
        //获取随机较深颜色 
        $text_color = imagecolorallocate($im,rand(50,180),rand(50,180),rand(50,180)); 
        //画文字 
        imagechar($im,$font_size,$imstr[$i]["x"],$imstr[$i]["y"],$imstr[$i]["s"],$text_color); 
    } 
    //显示图片 
    imagepng($im); 
    //销毁图片 
    imagedestroy($im); 
?>
PHP 相关文章推荐
用Apache反向代理设置对外的WWW和文件服务器
Oct 09 PHP
社区(php&amp;&amp;mysql)四
Oct 09 PHP
利用 window_onload 实现select默认选择
Oct 09 PHP
php 数学运算验证码实现代码
Oct 11 PHP
Memcache 在PHP中的使用技巧
Feb 08 PHP
PHP 命令行工具 shell_exec, exec, passthru, system详细使用介绍
Sep 11 PHP
PHP包含文件函数include、include_once、require、require_once区别总结
Apr 05 PHP
浅析PHP微信支付通知的处理方式
May 25 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP面向对象程序设计方法实例详解
Dec 24 PHP
php ajax数据传输和响应方法
Aug 21 PHP
几个php应用技巧
Mar 27 #PHP
PHP详细彻底学习Smarty
Mar 27 #PHP
php中用文本文件做数据库的实现方法
Mar 27 #PHP
Discuz! Passport 通行证整合
Mar 27 #PHP
FCKeditor添加自定义按钮
Mar 27 #PHP
php,ajax实现分页
Mar 27 #PHP
PHP 5.0对象模型深度探索之类的静态成员
Mar 27 #PHP
You might like
phpBB BBcode处理的漏洞
2006/10/09 PHP
抓取YAHOO股票报价的类
2009/05/15 PHP
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
js tab 选项卡
2009/04/26 Javascript
jQuery源码中的chunker 正则过滤符分析
2012/07/31 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
JS 实现Base64编码与解码实例详解
2016/11/07 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
jQuery EasyUI Panel面板组件使用详解
2017/02/28 Javascript
koa源码中promise的解读
2018/11/13 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
在vue中配置不同的代理同时访问不同的后台操作
2020/09/11 Javascript
理解python多线程(python多线程简明教程)
2014/06/09 Python
python实现可将字符转换成大写的tcp服务器实例
2015/04/29 Python
Python之os操作方法(详解)
2017/06/15 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
python逆序打印各位数字的方法
2018/06/25 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
基于django2.2连oracle11g解决版本冲突的问题
2020/07/02 Python
美国正版电视节目和电影在线观看:Hulu
2018/05/24 全球购物
泰国的头号网上婴儿用品店:Motherhood.co.th
2019/04/09 全球购物
英国著名的美容护肤和护发产品购物网站:Lookfantastic
2020/11/23 全球购物
开天辟地观后感
2015/06/09 职场文书
vue组件的路由高亮问题解决方法
2021/05/11 Vue.js
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
详细分析PHP7与PHP5区别
2021/06/26 PHP
用JS创建一个录屏功能
2021/11/11 Javascript
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis