最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php實(shí)現(xiàn)網(wǎng)頁(yè)端驗(yàn)證碼功能

 更新時(shí)間:2017年07月11日 17:15:24   作者:孫三峰  
這篇文章主要為大家詳細(xì)介紹了php制作網(wǎng)頁(yè)端驗(yàn)證碼效果,運(yùn)用到短信驗(yàn)證碼以及網(wǎng)頁(yè)驗(yàn)證碼實(shí)踐中,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

我們?cè)趯?shí)際開(kāi)發(fā)中,會(huì)用到短信驗(yàn)證碼以及網(wǎng)頁(yè)驗(yàn)證碼,相對(duì)來(lái)說(shuō)網(wǎng)頁(yè)驗(yàn)證碼的成本比較低,安全系數(shù)也還可以,接下來(lái)我們就來(lái)做一個(gè)網(wǎng)頁(yè)端的驗(yàn)證碼,直接上代碼:

首先來(lái)說(shuō)一下文件目錄結(jié)構(gòu):

    |----------phpyanzheng  項(xiàng)目文件夾

      |----fonttype 文件夾放字體文件,字體文件一般以 .ttf和.otf結(jié)尾

      |----1.php  里面放php語(yǔ)言代碼

      |----index.html  里面放網(wǎng)頁(yè)布局

1.php

<?php
  header('content-type:image/jpeg');//定義一下代碼以jpeg文件來(lái)解析
  $width = 120;//定義了圖像的寬
  $height = 40;//定義了圖像的高
  $element = array('q','w','e','r','t','y','u','i','o','p','l','k','j','h','g','f','d','s','a','z','x',
  'c','v','b','n','m','1','2','3','4','5','6','7','8','9','0','Q','W','E','R','T','Y','U','I','O','P','A'
  ,'S','D','F','G','H','J','K','L','M','N','B','V','C','X','Z');//定義一個(gè)顯示文本的數(shù)組
  $string = '';
  for($i=0;$i<4;$i++){
    $string.=$element[rand(0,count($element)-1)];//隨機(jī)產(chǎn)生四個(gè)文本目標(biāo)
  }
  $img = imagecreatetruecolor($width, $height);//設(shè)置驗(yàn)證區(qū)寬高
  $colorBg = imagecolorallocate($img,rand(185,255),rand(185,255),rand(185,255));//產(chǎn)生200-255的隨機(jī)數(shù)
  $colorBorder = imagecolorallocate($img,rand(50,100),rand(50,100),rand(50,100));//邊框顏色
  $colorDian = imagecolorallocate($img,rand(0,100),rand(0,100),rand(0,100));//背景小點(diǎn)的顏色
  $colorLine = imagecolorallocate($img,rand(0,255),rand(0,255),rand(0,255));
  $colorString = imagecolorallocate($img,rand(20,80),rand(20,80),rand(20,80));
  imagefill($img, 0, 0, $colorBg);//設(shè)置位置和背景顏色
  imagerectangle($img,0,0,$width-1,$height-1,$colorBorder);//畫一個(gè)邊框
  for($i=0;$i<200;$i++){//循環(huán)出200個(gè)干擾點(diǎn)
    imagesetpixel($img, rand(0, $width-1), rand(0, $height-1), $colorDian);
  }
  for($i=0;$i<round(5);$i++){//循環(huán)出5條干擾線
    imageline($img,rand(0,$width/2),rand(0,$height/2),rand($width/2,$width),rand($height/2,$height),$colorLine);
  }
  //imagestring($img, 4, 0, 0,'a5dg', $colorString);
  
  imagettftext($img,25,rand(5, 15),rand(0,40),39,$colorString,'fonttype/PrincetownStd.otf',$string);
  //    圖像名稱  字體大小 傾斜角度 起始位置X軸 起始位置Y軸 顏色 字體位置 顯示的內(nèi)容
  imagejpeg($img);//輸出圖像
?>

index.html

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>孫三峰--驗(yàn)證碼</title>
    <script type="text/javascript" src="js/jquery-1.1.0.js" ></script>
  </head>
  <body>
    <!--注意:原文中對(duì)應(yīng)的ip地址是自己電腦端ip,如果不能正常運(yùn)行,請(qǐng)修改ip-->
    <p>
      <label class="lbright">驗(yàn)證碼:</label> 
      <span> 
        <input type="text" name="validcode" style="width:70px; vertical-align:middle;" id="validcode"/> 
        <img id="codePic" src="http://192.168.1.113:8601/PHP/phpyanzheng/1.php" width="120" height="40"/>          
      </span>         
      <span id="codePic" onclick="getPic();">看不清楚,換一張</span> <!---->
    </p>     
  </body>
  <script type="text/javascript"> 
     function getPic(){ 
         $("#codePic").attr("src","http://192.168.1.113:8601/PHP/phpyanzheng/1.php?flag="+Math.random()); <!--局部刷新--> 
     }; 
  </script>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解析PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)

    解析PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)

    本篇文章是對(duì)PHP自帶的進(jìn)位制之間的轉(zhuǎn)換函數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • 由php if 想到的些問(wèn)題

    由php if 想到的些問(wèn)題

    在編寫一段并不復(fù)雜的腳本的時(shí)候,發(fā)現(xiàn)了一個(gè)問(wèn)題。先說(shuō)說(shuō)代碼,它的主要功能是用 PHP 判斷是否生成一段 Javascript,并使用 Cookie 記錄狀態(tài)。
    2008-03-03
  • PHP中func_get_args(),func_get_arg(),func_num_args()的區(qū)別

    PHP中func_get_args(),func_get_arg(),func_num_args()的區(qū)別

    我們?cè)倏匆幌翽HP的這三個(gè)函數(shù)[unc_get_arg(),func_get_args(),func_num_args()]的區(qū)別,我們先看一下,下面的實(shí)例代碼
    2013-09-09
  • PHP類的使用 實(shí)例代碼講解

    PHP類的使用 實(shí)例代碼講解

    用戶定義的類,也是學(xué)好 PHP 所必備的條件之一。而 PHP 的類,和其它的面向?qū)ο笳Z(yǔ)言比較起來(lái),還算蠻單純的。
    2009-12-12
  • PHP+JS實(shí)現(xiàn)文件分塊上傳的示例代碼

    PHP+JS實(shí)現(xiàn)文件分塊上傳的示例代碼

    我們?cè)谏蟼鞔笪募r(shí),可能會(huì)由于服務(wù)器的原因?qū)е挛募蟼魇。募^(guò)大時(shí)由于服務(wù)器的配置或響應(yīng)事件過(guò)長(zhǎng)導(dǎo)致上傳文件失敗,這時(shí)候我們可以將一個(gè)大的文件分為若干塊,然后分批次上傳到服務(wù)端。本文介紹了實(shí)現(xiàn)的方法,需要的可以參考一下
    2022-11-11
  • 如何使用php判斷所處服務(wù)器操作系統(tǒng)的類型

    如何使用php判斷所處服務(wù)器操作系統(tǒng)的類型

    本篇文章是對(duì)如何使用php判斷所處服務(wù)器操作系統(tǒng)的類型進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • PHP反射原理與用法深入分析

    PHP反射原理與用法深入分析

    這篇文章主要介紹了PHP反射原理與用法,結(jié)合實(shí)例形式深入分析了PHP反射的概念、原理、應(yīng)用場(chǎng)景及相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • DOM基礎(chǔ)及php讀取xml內(nèi)容操作的方法

    DOM基礎(chǔ)及php讀取xml內(nèi)容操作的方法

    這篇文章主要介紹了DOM基礎(chǔ)及php讀取xml內(nèi)容操作的方法,實(shí)例分析了php對(duì)XML文件的增刪改查操作原理與技巧,需要的朋友可以參考下
    2015-01-01
  • php修改指定文件后綴的方法

    php修改指定文件后綴的方法

    這篇文章主要介紹了php修改指定文件后綴的方法,文中的函數(shù)foreachDir可實(shí)現(xiàn)文件目錄的檢測(cè)、讀取、打開(kāi)及文件后綴替換等功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-09-09

最新評(píng)論

龙江县| 沛县| 乌拉特后旗| 宁德市| 邯郸县| 牡丹江市| 云霄县| 苍南县| 凌海市| 格尔木市| 江津市| 龙游县| 青龙| 剑河县| 隆回县| 山阴县| 桐庐县| 甘德县| 阜城县| 金寨县| 皋兰县| 宣化县| 马尔康县| 高碑店市| 柳江县| 达州市| 天全县| 两当县| 平陆县| 延边| 宁国市| 郯城县| 渝中区| 读书| 五家渠市| 孝义市| 新闻| 曲沃县| 祁连县| 巧家县| 玉门市|