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 相关文章推荐
基于mysql的论坛(4)
Oct 09 PHP
解析PHP中intval()等int转换时的意外异常情况
Jun 21 PHP
使用PHP下载CSS文件中的图片的代码
Sep 24 PHP
PHP SPL使用方法和他的威力
Nov 12 PHP
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
Jul 10 PHP
PHP缓存机制Output Control详解
Jul 14 PHP
php截取字符串函数分享
Feb 02 PHP
百度地图API使用方法详解
Aug 25 PHP
php实现搜索类封装示例
Mar 31 PHP
php多线程并发实现方法
Sep 30 PHP
php处理多图上传压缩代码功能
Jun 13 PHP
laravel 5.5 关闭token的3种实现方式
Oct 24 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
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
JQuery 学习技巧总结
2010/05/21 Javascript
Javascript数组的排序 sort()方法和reverse()方法
2012/06/04 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
jquery获得keycode的示例代码
2013/12/30 Javascript
动态加载脚本提升javascript性能
2014/02/24 Javascript
Javascript学习指南
2014/12/01 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
2015/11/07 Javascript
javascript实现二级级联菜单的简单制作
2015/11/19 Javascript
理解javascript模块化
2016/03/28 Javascript
基于Turn.js 实现翻书效果实例解析
2016/06/20 Javascript
javascript实现文字无缝滚动效果
2017/08/26 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
vue实现几秒后跳转新页面代码
2020/09/09 Javascript
解决antd日期选择组件,添加value就无法点击下一年和下一月问题
2020/10/29 Javascript
Python基于time模块求程序运行时间的方法
2017/09/18 Python
selenium+python自动化测试之鼠标和键盘事件
2019/01/23 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
pyqt5数据库使用详细教程(打包解决方案)
2020/03/25 Python
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
技校生自我鉴定范文
2013/09/26 职场文书
爱我中华演讲稿
2014/05/20 职场文书
总经理检讨书
2014/09/15 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年宣传部工作总结
2014/11/12 职场文书
班主任2015新年寄语
2014/12/08 职场文书
会议欢迎词
2015/01/23 职场文书
关于企业的执行力标语大全
2020/01/06 职场文书
Android中的Launch Mode详情
2022/06/05 Java/Android