이 글의 내용은 PHP 그래픽과 이미지 처리에서 인증코드를 생성하는 방법을 소개하는 것인가요? 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
인증 코드는 점점 더 인터넷에서 없어서는 안 될 요소가 되었습니다. 여러분은 PHP의 GD 라이브러리를 사용하여 인증 코드를 생성할 수 있다는 것을 알고 계시는지 궁금합니다.
먼저 사용해야 할 몇 가지 기능을 소개합니다.
1.imagesetpixel()
이 함수는 픽셀을 그릴 수 있는 기능으로 인증코드에서는 "Noise"라고 합니다. 단순히 유물. 인증코드의 점은 이 기능을 통해 생성된다는 사실을 기억하셨는지 모르겠습니다.
2.str_shuffle()
이것을 사용하여 문자열을 뒤섞은 다음 substr()을 사용하여 주어진 숫자를 가로챕니다. 의 숫자로 임의의 문자열을 생성할 수 있습니다.
예:
<?php $img = imagecreatetruecolor(100, 50); $black = imagecolorallocate($img, 0x00, 0x00, 0x00); $green = imagecolorallocate($img, 0x00, 0xFF, 0x00); $white = imagecolorallocate($img, 0xFF, 0xFF, 0xFF); imagefill($img, 0, 0, $white); //生成随机的验证码 $code = make(5); imagestring($img, 5, 10, 10, $code, $black); //加入噪点干扰 for ($i = 0; $i < 300; $i++) { imagesetpixel($img, rand(0, 100), rand(0, 100), $black); imagesetpixel($img, rand(0, 100), rand(0, 100), $green); } //加入线段干扰 for ($n = 0; $n <= 1; $n++) { imageline($img, 0, rand(0, 40), 100, rand(0, 40), $black); imageline($img, 0, rand(0, 40), 100, rand(0, 40), $white); } //输出验证码 header("content-type: image/png"); imagepng($img); //销毁图片 imagedestroy($img); //生产随机验证码的函数 function make($length) { $code = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; return substr(str_shuffle($code), 0, $length); }
렌더링:
요약: 위 내용은 이 글의 전체 내용입니다. 모두의 공부.