PHP验证码函数代码(简单实用)

效果图:




代码如下:

<?php  
 /**
 * vCode(m,n,x,y) m个数字  显示大小为n   边宽x   边高y
 * micxp
 *jb51.net
 */ 
session_start();   
vCode(4, 15); //4个数字,显示大小为15

function vCode($num = 4, $size = 20, $width = 0, $height = 0) {  
    !$width && $width = $num * $size * 4 / 5 + 5;  
    !$height && $height = $size + 10;   
    // 去掉了 0 1 O l 等 
    $str = "23456789abcdefghijkmnpqrstuvwxyzABCDEFGHIJKLMNPQRSTUVW";  
    $code = '';  
    for ($i = 0; $i < $num; $i++) {  
        $code .= $str[mt_rand(0, strlen($str)-1)];  
    }   
    // 画图像 
    $im = imagecreatetruecolor($width, $height);   
    // 定义要用到的颜色 
    $back_color = imagecolorallocate($im, 235, 236, 237);  
    $boer_color = imagecolorallocate($im, 118, 151, 199);  
    $text_color = imagecolorallocate($im, mt_rand(0, 200), mt_rand(0, 120), mt_rand(0, 120));   
    // 画背景 
    imagefilledrectangle($im, 0, 0, $width, $height, $back_color);   
    // 画边框 
    imagerectangle($im, 0, 0, $width-1, $height-1, $boer_color);   
    // 画干扰线 
    for($i = 0;$i < 5;$i++) {  
        $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));  
        imagearc($im, mt_rand(- $width, $width), mt_rand(- $height, $height), mt_rand(30, $width * 2), mt_rand(20, $height * 2), mt_rand(0, 360), mt_rand(0, 360), $font_color);  
    }   
    // 画干扰点 
    for($i = 0;$i < 50;$i++) {  
        $font_color = imagecolorallocate($im, mt_rand(0, 255), mt_rand(0, 255), mt_rand(0, 255));  
        imagesetpixel($im, mt_rand(0, $width), mt_rand(0, $height), $font_color);  
    }   
    // 画验证码 
    @imagefttext($im, $size , 0, 5, $size + 3, $text_color, 'c:\\WINDOWS\\Fonts\\simsun.ttc', $code);  
    $_SESSION["VerifyCode"]=$code;   
    header("Cache-Control: max-age=1, s-maxage=1, no-cache, must-revalidate");  
    header("Content-type: image/png;charset=gb2312");  
    imagepng($im);  
    imagedestroy($im);  

?>

(0)

相关推荐

  • 利用PHP绘图函数实现简单验证码功能的方法

    index.php <?php //===================================>>使用绘图技术绘制验证码 //1.随机产生4个随机数 $checkCode=""; for ($i=0;$i<4;$i++){ $checkCode.=dechex(rand(1, 15));// decheck()十进制转换为十六进制,即验证码上要显示的数字 } //2.存入列 session_start(); $_SESSION['checkCode'

  • php基础练习--简单验证码实现

    复制代码 代码如下: <?php    /**    *  vcode    *  param   $w画布宽    *  param   $h 画布高    *  param   $fnum 验证码元素个数    *  param   $fontsize 验证码元素大小    *  param   $obs  干扰素个数    */ function vcode($w, $h, $fnum, $fontsize, $obs) {    $img = imagecreatetruecolor($

  • PHP编写登录验证码功能 附调用方法

    本文实例为大家分享了一个PHP写的登录验证码功能,供大家参考,具体内容如下 ShowKey.php <?php session_start(); //设置COOKIE或Session function esetcookie($name,$str,$life=0){ //本函数将字符串 str 全部变小写字符串使验证码输入不区分大小写----在提交表单进行session比较同样需要次函数转化 $_SESSION[$name]=strtolower($str); } //获取随机字符 此函数区分字符

  • 一个简单的PHP验证码实现代码

    实现代码: <?php //将验证码保存到session里,供全局使用 session_start(); $nums = ""; for($i=0;$i<4;$i++){  //产生随机数并转换成十六进制  $nums.=dechex(mt_rand(0,15)); } //将验证码写入session $_SESSION['code']=$nums; //设置验证码长和宽 $_width = 60; $_height = 20; //创建一张图片 $_img = image

  • PHP验证码函数代码(简单实用)

    效果图: 复制代码 代码如下: <?php    /**  * vCode(m,n,x,y) m个数字  显示大小为n   边宽x   边高y  * micxp  *jb51.net */  session_start();    vCode(4, 15); //4个数字,显示大小为15 function vCode($num = 4, $size = 20, $width = 0, $height = 0) {       !$width && $width = $num * $s

  • 商城常用滚动的焦点图效果代码简单实用

    这种商城的效果网上很多,但大多是插件,要么JS写的太过于复杂,对于学习的童鞋来说看起来比较费劲,这个看起来比较简单,也比较容易理解,各位童鞋需要的请围观,也欢迎各位评价,贴代码(为方便使用,代码复制即可用,无需另外添加东西): 复制代码 代码如下: <!doctype html> <html lang="en"> <head> <title>商城常用滚动的效果,简单实用</title> <script type=&quo

  • js设置文本框中焦点位置在最后的示例代码(简单实用)

    在火狐浏览器中直接使用this.focus();即可实现. 在IE中,在this.focus();之后再把文本框的值赋给文本框,焦点即在最后了.很简单哟!! 如: 复制代码 代码如下: var tar=document.getElementByIdx_x("name");if(tar.attachEvent){tar.attachEvent('onmouseover',focus(tar),false);}else{tar.addEventListener('mouseover',fo

  • Python模拟登录验证码(代码简单)

    废话不多说了,直接给大家贴代码了. import urllib import urllib2 import cookielib def getImg(picurl): ''' request for random_code picture and cookie ''' pic = opener.open(picurl).read() with open('./verifyImg.jpg','wb') as emptyPic: emptyPic.write(pic) def verifyImg(p

  • 抖音很火的vbs表白代码(简单实用!)

    好玩的循环表白代码 1,右键->新建文本文件 2,右键->编辑 3,粘贴下面代码 MsgBox " 十年相遇" MsgBox " 百年回眸" MsgBox " 千年同船渡" MsgBox " 我愿以万年的等待" MsgBox " 百世的轮回" MsgBox " 换你今朝一世情缘" MsgBox " 可否" dim a(5) a(0)=" 天大,地

  • JavaScript多级下拉菜单代码(简单实用)

    JavaScript下拉菜单 * { padding:0; margin:0; } body { font-family:verdana, sans-serif; font-size:small; } #navigation, #navigation li ul { list-style-type:none; } #navigation { margin:20px; } #navigation li { float:left; text-align:center; position:relati

  • 一段实用的php验证码函数

    本文实例为大家分享了几段php验证码函数,都很实用,具体内容如下 代码段一:简单php验证码函数 <?php function code(){ $im = imagecreatetruecolor(100, 40); $black = imagecolorallocate($im, 0, 0, 0); $white = imagecolorallocate($im, 255, 255, 255); imagefill($im,0,0,$white); $strarr=array_merge(ra

  • PHP实现简单实用的验证码类

    本文实例讲述了PHP实现简单实用的验证码类.分享给大家供大家参考.具体如下: <?php /** * @version 1.0 * @author bolted snail * @date 2011-10-15 * @PHP验证码类 * 使用方法: * $image=new Captcha(); * $image->config('宽度','高度','字符个数','验证码session索引'); * $image->create();//这样就会向浏览器输出一张图片 * //所有参数都可

  • 使用纯JS代码判断字符串中有多少汉字的实现方法(超简单实用)

    在网站开发中,经常会简单使用js代码来判断字符串中有多少汉字的功能.今天小编抽时间给大家分享实现代码.废话不多说了,直接给大家贴代码了. $("form").submit(function () { var content = editor.getContentTxt(); var sum = 0; re = /[\u4E00-\u9FA5]/g; //测试中文字符的正则 if (content) { if (re.test(content)) //使用正则判断是否存在中文 { if

  • Ajax的简单实用实例代码

    我将实现一个简单的Ajax页面无刷新进行用户验证案例: 效果如下图: 实现主要过程: 在UsersAction类中的checkUser方法中接收并验证前台的表单数据,针对不同情况,返回一个状态码code给jsp页面,然后在ajax1.jsp中通过$.post方法接受后台传递过来的状态码 做出不同的响应. 具体代码如下: 1.实体类 package com.bean; import java.io.Serializable; public class Users implements Serial

随机推荐