php生成验证码详细教程

本文章提供一款php教程生成验证码详细教程,前面是讲关于生成验证核心代码,后面是一款生成与调用的方法。

 代码如下 复制代码

<?php
//header("content-type:image/png");
$num ='1234';
$imagewidth=60;
$imageheight=18;

$numimage = imagecreate($imagewidth,$imageheight);
imagecolorallocate($numimage,240,240,240);
for($i=0;$i<strlen($num);$i++){
$x = mt_rand(1,8)+$imagewidth*$i/4;
$y = mt_rand(1,$imageheight/4);
$color=imagecolorallocate($numimage,mt_rand(0,150),mt_rand(0,150),mt_rand(0,150));
imagestring($numimage,5,$x,$y,$num[$i],$color);
}

for($i=0;$i<200;$i++){
$randcolor=imagecolorallocate($numimage,rand(200,255),rand(200,255),rand(200,255));
imagesetpixel($numimage,rand()%70,rand()%20,$randcolor);
}
imagepng($numimage);
imagedestroy($numimage);
?>

来看一款生成验证码实例

 代码如下 复制代码

<?php

   //生成验证码图片

    session_start();

        header("content-type: image/png"); 

  srand((double)microtime()*1000000); 

  $roundnum=rand(1000,9999);

  //把随机数存入session以便以后用

   $_session["sessionround"]=$roundnum;

        $im = imagecreate(58,28);

        $red = imagecolorallocate($im, 255,0,0);

        $blue = imagecolorallocate($im, 0,255,0);

 //局域填充,相当于背景

        imagefill($im,68,30,$red);

   //将四位整数验证码绘入图片

        imagestring($im, 5, 10, 8, $roundnum, $blue);

        for($i=0;$i<50;$i++)   //加入干扰象素

        {

                imagesetpixel($im, rand()%70 , rand()%30 , $black);

        }

        imagepng($im);

        imagedestroy($im);

?>

html调用 方法

 代码如下 复制代码

<td>验证码</td><td width="20%">

     <input name="validt" type="text" size="10" maxlength="4"/></td><td colspan="3" width="80%">

     <img src="/www.111cn.net/validitpicture.php" name="validitpic" align="absmiddle"  /></td>

 

时间: 2024-10-13 09:49:27

php生成验证码详细教程的相关文章

ASP生成验证码详细教程

总共有三个文件.讲解如何通过ASP生成验证码.Asp文件:Code.Asp 数据文件:body.Fix , Head.Fix  用法:<img src="code.asp"> <%Option ExplicitResponse.buffer=trueNumCodeFunction NumCode()    Response.Expires = -1    Response.AddHeader "Pragma","no-cache"

jsp spring mvc 框架集成google kaptcha生成验证码实例教程

关于kaptcha介绍,我们就不说了,网上一堆的资料. 使用kaptcha可以方便的配置:    验证码的字体    验证码字体的大小    验证码字体的字体颜色    验证码内容的范围(数字,字母,中文汉字!)    验证码图片的大小,边框,边框粗细,边框颜色    验证码的干扰线(可以自己继承com.google.code.kaptcha.NoiseProducer写一个自定义的干扰线)    验证码的样式(鱼眼样式.3D.普通模糊--当然也可以继承com.google.code.kaptc

WinForm生成验证码图片的方法_C#教程

本文实例讲述了WinForm生成验证码图片的方法.分享给大家供大家参考,具体如下: 1.创建ValidCode类: public class ValidCode { #region Private Fields private const double PI = 3.1415926535897932384626433832795; private const double PI2 = 6.283185307179586476925286766559; //private readonly int

PHP在网页中动态生成PDF文件详细教程_php实例

本文详细介绍使用 PHP 动态构建 PDF 文件的整个过程.使用免费 PDF 库 (FPDF) 或 PDFLib-Lite 等开源工具进行实验,并使用 PHP 代码控制 PDF 内容格式. 有时您需要准确控制要打印的页面的呈现方式.在这种情况下,HTML 就不再是最佳选择了.PDF 文件使您能够完全控制页面的呈现方式,以及文本.图形和图像在页面上的呈现方式.遗憾的是,用来构建 PDF 文件的 API 不属于 PHP 工具包的标准部件.现在您需要提供一点帮助. 当您在网络上搜索,寻找对 PHP 的

php 验证码详细生成与使用方法

注意:以下代码需要打开php教程的gd库,修改php.in文件的配置,把已经注释掉的行之前的分号取消即可:extension=php_gd2.dll. $width = 165;         $height = 120;         $image = imagecreatetruecolor($width,$height);         $bg_color = imagecolorallocate($image,255,255,255);         $tm = imagecol

php生成验证码图片从入门和精通教程

在php中要生成验证码图片是相当的简单的,因为在php中为我们提供了图形gd.dll库,要启用gd图形库我们只要在在php.ini中把php-gd前面的;去就可以了. 方法一 $authnum=''; $ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; $list=explode(",",$ychar);//分割函数 for($i=0;$i<4;$i

Asp.Net生成验证码

asp.net|验证码      经常在论坛里看到有问怎么实现验证码的帖子,其实关于验证码的文章在csdn,dev-club等网站上都有很多,但是很多文章只讲诉了如何输出一个随机生成数字或字符的图象,当然了,这个是验证码的核心了,但是对很多asp.net的初学者来说,怎么使用它生成的图象又成了一个问题(论坛有不少问这个的),这也是我写本文的一个原因.    言归正传,关于验证码的原理,我就不多说了,大家可以参见其他文章,文末附有完整的实例代码,里面有详细的注释,你可以跳过解说文字,直接使用   

asp 生成验证码实例代码

asp教程 生成验证码实例代码 call com_creatvalidcode("validcode") sub com_creatvalidcode(ps教程n)     ' 禁止缓存   response.expires = -1   response.expiresabsolute = now() - 1    response.cachecontrol = "no-cache"      'response.expires = -9999      'res

CentOS 7.x下的LEMP环境搭建详细教程_Linux

最近由于项目需求,将服务器从CentOS6升级到CentOS7,对应的PHP版本也升级到PHP5.6.我们熟悉的有LEMP环境一键安装包,但是本文我们将单独安装各个组件模块,并搭建一个完整的PHP运行平台. 我们常说的LNMP环境是指Linux/nginx/MySQL/PHP组合,而LEMP是什么呢?其实Nginx的发音是Engine-X = E,LEMP包是由Linux.nginx.MariaDB/MySQL和PHP组成的,那么看来LEMP和LNMP是一样的,而现在业内习惯性的称作LEMP.M