Rumah >pembangunan bahagian belakang >tutorial php >详解PHP如何使用GD库完成验证码效果教程

详解PHP如何使用GD库完成验证码效果教程

巴扎黑
巴扎黑asal
2017-08-17 16:11:351500semak imbas

这篇文章主要介绍了PHP使用GD库制作验证码的方法(点击验证码或看不清会刷新验证码)的相关资料,需要的朋友可以参考下

这是利用GD库生成验证码的页面

test.PHP


<?php 
header(&#39;Content-Type:image/jpeg&#39;); 
 $img = imagecreatetruecolor(100, 40); 
 $black = imagecolorallocate($img, 0x00, 0x00, 0x00); 
 $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); 
 $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); 
 imagefill($img,0,0,$white); //生成随机的验证码 
 $code = &#39;&#39;; 
 for($i = 0; $i < 4; $i++) { $code .= rand(0, 9); } 
 imagestring($img, 5, 10, 10, $code, $black); 
 //加入噪点干扰 
 for($i=0;$i<50;$i++) { 
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $black); 
  imagesetpixel($img, rand(0, 100) , rand(0, 100) , $green); 
 } //输出验证码 header("content-type: image/png"); 
 imagepng($img); 
 imagedestroy($img); 
?>

这是点击验证码或看不清之后可实现局部刷新验证码

test2.php


<script type="text/javascript"> 
 function shuaxin() 
 { 
  document.getElementById(&#39;code&#39;).src = "test.php?"+Math.random(); 
 } 
</script> 
<input type="text"><br /> 
<img id="code" src="test.php" onclick="shuaxin()" /> 
<span onclick="shuaxin()">看不清?</span><br />

如下图所示:

2017081514333226.png

Atas ialah kandungan terperinci 详解PHP如何使用GD库完成验证码效果教程. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn