首頁 >後端開發 >php教程 >php如何建立簡單驗證碼

php如何建立簡單驗證碼

小云云
小云云原創
2018-03-26 13:27:462190瀏覽

本文主要跟大家分享php如何創建簡單驗證碼的程式碼,希望能幫助大家。

一、建立一個驗證碼輸出檔


session_start();

//5.创建一个验证码
$code_length = 4;
$codes = '';

for($i=0;$i<$code_length;$i++)
{
    $codes .= dechex(mt_rand(0,15));
}

//7.生成sesstion
$_SESSION[&#39;code&#39;] = $codes;

$width = 75;
$height = 25;

//1. 创建一张图片
$img = imagecreatetruecolor($width,$height);

//4. 创建图片静态内容
//白色
$white = imagecolorallocate($img, 255, 255, 255);
//黑色
$black = imagecolorallocate($img, 100, 100, 100);
//红色
$red = imagecolorallocate($img, 255, 0, 0);

//图片背景
imagefill($img, 0, 0, $white);


//随机线条
for($i=0;$i<4;$i++)
{
    //创建随机颜色
    $img_mt_color = imagecolorallocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));

    //画线
    imageline($img, mt_rand(0,$width),mt_rand(0,$height), mt_rand(0,$width),mt_rand(0,$height), $img_mt_color);
}

//随机打雪花
for($i=0;$i<100;$i++)
{
    //创建随机浅淡色
    $img_mt_color = imagecolorallocate($img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));

    //画*
    imagestring($img,1, mt_rand(0,$width),mt_rand(0,$height),&#39;*&#39;,$img_mt_color);
}

//imagestring($img, 3, 10, 10, strlen($codes), $red);


//6.绘制验证码
for($i=0;$i<$code_length;$i++)
{
    //创建验证码颜色(偏深色)
    $img_mt_color = imagecolorallocate($img, mt_rand(0,100), mt_rand(0,150), mt_rand(0,200));
    //生成验证码每一位字符
    imagestring($img, mt_rand(3,5), $i*$width/4 + mt_rand(0,10), mt_rand(1,$height/2), $_SESSION[&#39;code&#39;][$i], $img_mt_color);
}

//创建红色矩形边框
imagerectangle($img, 0, 0, $width-1, $height-1, $red);

//2. 让浏览器知道输出的是一张图片
header(&#39;Content-type:image/png&#39;);
//3. 输出
imagepng($img);
//4. 销毁
imagedestroy($img);


#二、在另一個頁面呼叫這個驗證碼,並且實作點擊刷新驗證碼:



<img src="php_code_img.php" id="myCodeImg" />

<script type="text/javascript">
(function(){
    var myCodeImg = document.getElementById_x(&#39;myCodeImg&#39;);
    myCodeImg.onclick = function()
    {
        this.src = &#39;./php_code_img.php?mt=&#39;+Math.ceil(Math.random()*1000);
    }
})();
</script>

相關推薦:

##利用PHP繪圖函數實作簡單驗證碼功能的方法_php實例

php實作簡單驗證碼

#基於PHP產生簡單的驗證碼,PHP產生簡單驗證碼_PHP教程

以上是php如何建立簡單驗證碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn