>  기사  >  백엔드 개발  >  access2003 인증 코드 PHP는 눈송이 배경으로 인증 코드를 생성합니다.

access2003 인증 코드 PHP는 눈송이 배경으로 인증 코드를 생성합니다.

WBOY
WBOY원래의
2016-07-29 08:38:571048검색

session_start();
session_register("login_check_number")
//어젯밤에 chianren에 대한 확인 코드 효과를 보고 생각해서 PHP의 GD 라이브러리를 사용하여 유사함수
//배경을 먼저 생성한 후 생성된 인증코드를 그 위에 올려주세요
$img_height=120; //이미지의 길이와 너비를 먼저 정의하세요
$img_width=40; >if($HTTP_GET_VARS ["act"]== "init"){
//srand(microtime() * 100000);//PHP420 이후에는 srand가 필요하지 않습니다
for($Tmpa=0; $Tmpa<4; $Tmpa ){
$nmsg.=dechex(rand(0,15))
}//by sports98
$HTTP_SESSION_VARS[login_check_number] = $nmsg; /$HTTP_SESSION_VARS[login_check_number ] = strval(mt_rand("1111","9999")); //4자리 난수를 생성하여 세션에 입력합니다.
//문자와 문자를 생성할 수 있다고 누가 추가할 수 있나요? 숫자를 동시에? ? ----sports98에 의해 완성
$aimg = imageCreate($img_height,$img_width); //이미지 생성
ImageColorAllocate($aimg, 255,255,255); //사진 배경색, ImageColorAllocate가 처음으로 색상을 정의합니다. PHP는 이를 배경색으로 간주합니다
$black = ImageColorAllocate($aimg, 0,0,0); //필요한 검정색 정의
ImageRectangle($aimg,0,0,$img_height-1,$img_width -1,$black);//먼저 이미지를 둘러싸는 검은색 직사각형을 만듭니다.
//이제 눈송이 배경을 생성할 차례입니다. 실제로는 ($에 대해
이미지에 몇 가지 기호를 생성하는 것입니다. i=1; $i< =100; $i ) { //먼저 테스트하려면 100을 사용합니다
imageString($aimg,1,mt_height),mt_rand(1,$img_width),"*" ,imageColorAllocate($aimg, mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)))
//하, 보시다시피 실제로는 눈송이가 아니고 단지 * 기호일 뿐입니다. "지저분하고 다채롭게" 보이도록 하려면 하나씩 생성할 때 위치, 색상 및 크기에 대해 임의의 숫자를 사용해야 합니다. 이는 rand() 또는 mt_rand를 사용하여 수행할 수 있습니다.
}
//위에서 배경이 생성되었으니 이제 생성된 난수를 넣어줄 차례입니다. 원리는 위와 비슷합니다. 난수는 하나씩 배치되며 위치, 크기, 색상은 모두 난수입니다~~
//여기서는 배경과 구별을 위해 색을 넘지 않습니다. 200, 위 색상은 200을 초과하지 않습니다. 200 미만
for ($i=0;$iimageString($aimg, mt_rand( 3,5),$i*$img_height/4 mt_rand(1,10),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[login_check_number][$i],imageColorAllocate($aimg,mt_rand(0,100),mt_rand (0,150),mt_rand(0,200)));
}
Header("Content-type: image/png"); //다음 데이터를 텍스트로 표시하지 않고 이미지라고 브라우저에 알립니다.
ImagePng($aimg); //png 형식을 생성합니다. . . 헤헤 효과가 꽤 비슷하네요. . .
ImageDestroy($aimg)
}
?>
위 내용은 access2003 인증코드를 소개하고 있는데, PHP는 access2003 인증코드를 포함하여 눈송이 배경으로 인증코드를 생성합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.