<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    用php生成帶有雪花背景的驗證碼

    時間:2025-01-08 03:48:59 php語言 我要投稿
    • 相關推薦

    用php生成帶有雪花背景的驗證碼

      用php生成帶有雪花背景的驗證碼,有需要的朋友可以參考下。以下代碼,有詳細的注釋,方便學習。就跟隨百分網小編一起去了解下吧,想了解更多相關信息請持續關注我們應屆畢業生考試網!

      <?session_start();?>

      <FORM METHOD=POST ACTION="">

      <input type=text name=number maxlength=4><img src="YanZhengMa.php?act=init">

      <INPUT TYPE="submit" name="sub">

      </FORM>

      <?

      //檢驗校驗碼

      if(isset($HTTP_POST_VARS["sub"])):

      if($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"])){

      echo "校驗碼不正確!" ;

      }else{

      echo"驗證碼通過!";

      }

      endif;

      show_source('test.php');

      //以上本頁的源碼

      //以下是生成驗證碼的源碼

      show_source('YanZhengMa.php');

      ?>

      <?php

      session_start();

      session_register("login_check_number");

      //昨晚看到了chianren上的驗證碼效果,就考慮了一下,用PHP的GD庫完成了類似功能

      //先成生背景,再把生成的驗證碼放上去

      $img_height=120;    //先定義圖片的長、寬

      $img_width=40;

      if($HTTP_GET_VARS["act"]== "init"){

      //srand(microtime() * 100000);//PHP420后,srand不是必須的

      for($Tmpa=0;$Tmpa<4;$Tmpa++){

      $nmsg.=dechex(rand(0,15));

      }//by sports98

      $HTTP_SESSION_VARS[login_check_number] = $nmsg;

      //$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999"));    //生成4位的隨機數,放入session中

      //誰能做下補充,可以同時生成字母和數字啊??----由sports98完成了

      $aimg = imageCreate($img_height,$img_width);    //生成圖片

      ImageColorAllocate($aimg, 255,255,255);            //圖片底色,ImageColorAllocate第1次定義顏色PHP就認為是底色了

      $black = ImageColorAllocate($aimg, 0,0,0);        //定義需要的黑色

      ImageRectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//先成一黑色的矩形把圖片包圍

      //下面該生成雪花背景了,其實就是在圖片上生成一些符號

      for ($i=1; $i<=100; $i++) {    //先用100個做測試

      imageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)));

      //哈,看到了吧,其實也不是雪花,就是生成*號而已。為了使它們看起來"雜亂無章、5顏6色",就得在1個1個生成它們的時候,讓它們的位置、顏色,甚至大小都用隨機數,rand()或mt_rand都可以完成。

      }

      //上面生成了背景,現在就該把已經生成的隨機數放上來了。道理和上面差不多,隨機數1個1個地放,同時讓他們的位置、大小、顏色都用成隨機數~~

      //為了區別于背景,這里的顏色不超過200,上面的不小于200

      for ($i=0;$i<strlen($HTTP_SESSION_VARS[login_check_number]);$i++){

      imageString($aimg, mt_rand(3,5),$i*$img_height/4+mt_rand(1,10),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[login_check_number][$i],imageColorAllocate($aimg,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)));

      }

      Header("Content-type: image/png");    //告訴瀏覽器,下面的數據是圖片,而不要按文字顯示

      ImagePng($aimg);                    //生成png格式。

      ImageDestroy($aimg);

      }

      ?>

    【用php生成帶有雪花背景的驗證碼】相關文章:

    php生成動態圖片驗證碼代碼07-23

    php生成動態圖片驗證碼的一段代碼04-30

    php如何實現驗證碼06-13

    php實現驗證碼制作08-12

    java如何生成驗證碼07-25

    php驗證碼代碼怎么寫09-26

    java如何生成驗證碼呢10-28

    用PHP把HTML生成PDF文件的幾個開源項目08-01

    仿照TP框架自帶的PHP驗證碼類10-22

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人