> 백엔드 개발 > PHP 튜토리얼 > PHP 그래픽 및 이미지 처리에서 인증 코드를 생성하는 방법은 무엇입니까?

PHP 그래픽 및 이미지 처리에서 인증 코드를 생성하는 방법은 무엇입니까?

PHPz
풀어 주다: 2018-12-18 09:24:13
앞으로
2353명이 탐색했습니다.

이 글의 내용은 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 = &#39;abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789&#39;;
    return substr(str_shuffle($code), 0, $length);
}
로그인 후 복사

렌더링:

                                                 

요약: 위 내용은 이 글의 전체 내용입니다. 모두의 공부.

PHP 그래픽 및 이미지 처리에서 인증 코드를 생성하는 방법은 무엇입니까?

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿