我的第一个PHP 自定义函数:验证码生成

 
/**

*_nmsg()生成验证码
*@access public
*@param int $_width 验证码宽度
*@param int $_height 验证码高度
*@param int $_rnd_count 验证码位数
*@param bool $_rnd_count 验证码边框
*return void
*/

function _nmsg($_width=75,$_height = 25,$_rnd_count=4,$_flag=true){

//产生随机数
    session_start();
    for($i=0;$i<$_rnd_count;$i++){
        @$_nmsg.=dechex(mt_rand(0,15));
    }
    $_SESSION[‘nmsg‘]=$_nmsg;

    //创建图像
    header("Content-Type:image/png");
    $_img=imagecreatetruecolor($_width,$_height);

    //背景颜色(白色)
    $_white=imagecolorallocate($_img,255,255,255);

    //填充颜色
    imagefill($_img,0,0,$_white);

    //边框颜色(黑色)
    $_black=imagecolorallocate($_img,0,0,0);

    //边框开关
    if($_flag){
    //创建边框
    imagerectangle($_img,0,0,$_width-1,$_height-1,$_black);
    }

    //随机线条生成
    for($i=0;$i<6;$i++){
        $_rnd_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
        imageline($_img,mt_rand(2,$_width-2),mt_rand(2,$_height-2),mt_rand(2,$_width-2),mt_rand(2,$_height-2),$_rnd_color);
    }

    //随机雪花
    for($i=0;$i<100;$i++){
        $_rnd_color=imagecolorallocate($_img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
        imagestring($_img,1,mt_rand(1,$_width-7),mt_rand(1,$_height-7),‘*‘,$_rnd_color);
    }

    //输出验证码
    for($i=0;$i<$_rnd_count;$i++){
        $_rnd_color=imagecolorallocate($_img,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));
        imagestring($_img,mt_rand(3,5),$i*$_width/$_rnd_count+mt_rand(1,10),mt_rand(1,$_height/2),$_SESSION[‘nmsg‘][$i],$_rnd_color);
    }

    //输出图像
    imagepng($_img);

    //销毁图像
    imagedestroy($_img);
}

js刷新部分

window.onload=function(){
    var nmsg = document.getElementById(‘nmsg‘);
    nmsg.onclick=function(){
        nmsg.src=‘code.php?tm=‘+Math.random();
    };
}
时间: 2024-11-25 22:30:34

我的第一个PHP 自定义函数:验证码生成的相关文章

Java Servlet(八):EL自定义函数

EL自定义函数:在EL表达式中调用的某个java类的静态方法,这个静态方法需在web应用程序中进行配置才可以被EL表达式调用. EL自定义函数可以扩展EL表达式的功能,让EL表达式完成普通java程序所能完成的功能. EL表达式出现的目的: 为了能够让一个java类的静态方法可以被EL表达式调用,需要在一个标签库描述文件(tld文件)中对EL自定义函数进行描述,以将java类中的静态方法映射成为一个EL自定义函数.

php生成随机密码(php自定义函数)转自先锋教程网

php生成随机密码(php自定义函数) 时间:2015-12-16 20:43:49来源:网络 导读:php随机密码的生成代码,使用php自定义函数生成指定长度的随机密码,密码规则为小写字母与数字的随机字符串,长度可自定义. 生成一个随机密码的函数,生成密码为小写字母与数字的随机字符串,长度可自定义. 复制代码代码如下: <?php/* * php自动生成新密码自定义函数(带实例演示)      适用环境: PHP5.2.x  / mysql 5.0.x       代码作者: xujiajay

MySQL 自定义函数CREATE FUNCTION实例

分享一个MySQL 自定义函数CREATE FUNCTION的实例.mysql> delimiter $$mysql> CREATE FUNCTION myFunction-> (in_string VARCHAR(255),-> in_find_str VARCHAR(20),-> in_repl_str VARCHAR(20))->-> RETURNS VARCHAR(255)-> BEGIN-> DECLARE l_new_string VARC

验证码生成代码范例

在网站的登陆和注册的时候,经常会用到验证码来防止别人用机械暴力注册或登陆,加上验证码这样一定程度上让网站安全很多,下面是一个比较简单的验证码生成,同时给session赋值. <?php session_start(); header(“Content-type: image/png”); http://www.douban.com/note/452296816/ //创建真彩色白纸 $im = @imagecreatetruecolor(50, 20) or die(“建立图像失败”); //获

简单的PHP验证码生成

在网站的登陆和注册的时候,经常会用到验证码来防止别人用机械暴力注册或登陆,加上验证码这样一定程度上让网站安全很多,下面是一个比较简单的验证码生成,同时给session赋值. <?php session_start(); header(“Content-type: image/png”); //创建真彩色白纸 $im = @imagecreatetruecolor(50, 20) or die(“建立图像失败”); //获取背景颜色 $background_color = imagecoloral

一个可以使用多个正则表达式进行多次尝试匹配,并进行替换的Excel VBA自定义函数(UFD)

以下代码可使用多个正则表达式对目标单元格进行多次匹配尝试,如匹配成功,将停止尝试匹配其他正则表达式,并且使用该正则表达式相对应的替换表达式进行替换,返回替换结果. 使用前需要做Early Binding.即在VBE编辑器中,选择菜单栏中的Tool - Reference,如图: 弹出如下图的对话框后,选择Microsoft VBSscript Regular Expression 5.5,打钩,点OK. 此UDF的使用方法为: Text参数:需要进行处理的原始文字或单元格. MatchPatte

发布一个计算桩号之差的Excel自定义函数(VBA)

这是一个可以计算桩号之差(也就是得到长度)的Excel(或WPS)扩展函数,可以减少工程师在统计工程量时的工作量. 该函数具有一定的通用性.可以在MS Office和金山WPS上使用. 文末会给出使用本函数的简单步骤,关于如何在Excel(或WPS)中自定义函数的较详细介绍请移步这里[1]. 将下面内容复制到模块中去,保存后即可使用自定义的ZH_Len函数计算两个桩号之间的长度. '函数:ZH_Len '作用:起终点桩号之差(返回数字) '作者:@我只是一小小鸟 [email protected

mysql自定义函数--得到字符串中最后一个分隔符前面的内容

工作中使用到一些特殊的字符串,比如'50-1-1-2-3',当需要得到'50-1-1-2'时可使用以下自定义函数 DELIMITER $$ USE `mydb`$$ DROP FUNCTION IF EXISTS `get_content_before_last_separator`$$ CREATE DEFINER=`root`@`%` FUNCTION `get_content_before_last_separator`(charStr VARCHAR(200),separatorStr 

插拔式自定义图片验证码(开源)

1:第一种自定义验证码(推荐) 1 前端: <img id ="img" src="/路由/"> <span {{ dict.error }}</span> 2 前端js刷新验证码: 3 <script> 4 img =document.getElementById("img"); 5 img.onclick = function () { 6 img.src = img.src + "?&qu