PHP GD 生成图片验证码+session获取存储验证码
Jun 13, 2016 pm 12:01 PM
PHP GD 生成图片验证码+session获取储存验证码
下面分享一个PHP制作的图片验证码案例:案例如下图:
运用PHP GD详细请看:http://www.php.net/manual/zh/book.image.php
后台图片代码如下:
<?phpsession_start ();$image = imagecreatetruecolor(100,30);//创建一个宽100,高度30的图片$bgcolor=imagecolorallocate($image,255,255,255);//图片背景是白色imagefill($image,0,0,$bgcolor);//图片填充白色//随机数/**for($i=0;$i<4;$i++){ $fontsize=6; $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $fontcontent=rand(0,9); $x=($i*100/4)+ rand(5,10); $y=rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}**///随机数据$captch_code='';for($i=0;$i<4;$i++){ $fontsize=6; $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120)); $data='asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800'; $fontcontent=substr($data,rand(0,strlen($data)),1); $captch_code.=$fontcontent; $x=($i*100/4)+ rand(5,10); $y=rand(5,10); imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION['authcode']=$captch_code;//随机点for($i=0;$i<200;$i++){ $pointcolor=imagecolorallocate($image,rand(50,120),rand(50,120),rand(50,120)); imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);}//随机线for($i=0;$i<3;$i++){ $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220)); imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header("content-type:image/png");imagepng($image);imagedestory($image);?>
前台代码如下:
<?php if(isset($_REQUEST['autocode'])){ session_start(); if(strtolower($_POST['autocode']) == $_SESSION['authcode']){ echo '正确'; }else{ echo'错误'; } exit(); }?> <meta chartset="utf-8">
添加点击执行修改如下即可:
<p>验证码图片:<img src="/static/imghw/default1.png" data-src="captcha.php?r=" class="lazy" border="1" id="capthcha_img" onclick="this.src='captcha.php?r='+Math.random()" echo rand alt="PHP GD 生成图片验证码+session获取存储验证码" > width="100" style="max-width:90%" /> <a href="javascript:void(0)" onclick="document.getElementById('capthcha_img').src='captcha.php?r='+Math.random()">换一个</a></p>
本案例原创,转载请注明!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah perbezaan antara Huawei GT3 Pro dan GT4?

Bagaimana untuk menyelesaikan ralat 'undefined: rand.Seed' dalam golang?

Betulkan: Alat snipping tidak berfungsi dalam Windows 11

Cara menggunakan Bing Image Creator secara percuma

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone

Bagaimana untuk memadam imej dari telefon Xiaomi

Bagaimana untuk menyegerakkan penjanaan nombor rawak dalam pemprosesan selari Golang?

Bagaimana untuk menyelesaikan masalah menjana nombor rawak yang sama menggunakan fungsi php rand
