程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php生成驗證碼詳細教程

php生成驗證碼詳細教程

編輯:關於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.bKjia.c0m/validitpicture.php" name="validitpic" align="absmiddle"  /></td>

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved