>백엔드 개발 >PHP 튜토리얼 >PHP 이미지 인증코드 작성 예시

PHP 이미지 인증코드 작성 예시

WBOY
WBOY원래의
2016-07-25 08:55:121077검색
  1. $authnum=''
  2. $ychar="0,1,2,3,4,5,6,7 ,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W , $randnum=rand(0,35);
  3. $authnum.=$list[$randnum];//배열 형태로 출력
  4. 코드 복사
방법 2, 비공개 함수로 정의됩니다.

비공개 함수 createCheckCode()
  • {
  • for(i=0;icodeNum ;i )
  • {
  • number = rand(0,2);
  • switch(number)
  • {
  • case 0: rand_number = rand(48,57);//Number
  • 사례 1: rand_number = rand(65,90);break;//대문자
  • 사례 2: rand_number = rand(97,122);break;//소문자
  • }
  • $asc = sprintf("%c",rand_number);
  • $asc_number = asc_number.asc;
  • }
  • return asc_number;
  • 코드 복사
  • 방법 3, 무작위 시드를 사용하여 PHP 인증 코드를 생성합니다.

    srand(microtime()*100000);//타이머와 동일
      $string="abcdefghigklmnopqrstuvwxyz123456789"; 🎜>for($i=0;$i<4;$i )
    1. {
    2. $new_number.=$string[rand(0,strlen($string)-1)];//random 생성 배열
    3. }
    4. 코드 복사
    방법 4,

    for($i=0;$i<4;$i )
    {
    $rand.=dechex(rand(1, 15));//10진수를 16진수로 변환
      }
    1. 코드 복사
    그런 다음 이 기사의 초점을 입력하세요. PHP GD 라이브러리: (이미지 처리 이미지를 생성하기 위한 이미지 처리 기능에 대한 일련의 IPI 제공) PHP에서 GD 라이브러리 활성화: php.ini 구성 파일에서 ";extension=php_gd2.dll"에서 ";"를 제거합니다. 일부 GD 라이브러리 기능 소개: 1.imagecreatetruecolor(int x_size,int Y_size)는 새로운 트루 컬러 이미지를 생성합니다. 2.imagecolorallocate(resource image,int red,int green,int blue)는 이미지에 세 가지 기본 색상인 색상을 할당합니다. 3.imagestring(resource,font,int x,int y,content,color) 그리기 함수 4.header("Content-type:image/jpeg") 출력 함수 php의 헤더는 php5의 헤더를 정의하는 액션입니다. 유형: 1, 콘텐츠 유형: xxxx/yyyy 2, 위치: xxxx:yyyy/zzzz 3, 상태: nnn xxxxxx xxxx/yyyy는 image/gif image/jpeg image와 같은 콘텐츠 파일 유형을 나타냅니다. /png imagejpeg(), imagegif (),imagepang() 5.iamgeline(resource image,int x1,int y1,int x2,int y2,int color) 선 그리기 기능, (int x, int y) 시작 좌표 6.imagesetpixel(resource image,int x,int y,int color) 그리기 포인트 기능 7.imagettftext(리소스 이미지, 부동 크기, 부동 각도, int x, int y, int color, 문자열 글꼴 파일, 문자열 텍스트) 글꼴 쓰기 기능 포함 8.iconv("gb2312","utf-8","string ") ; //먼저 텍스트를 UTF-8 형식으로 변환합니다. 중국어로 PHP 인증코드를 삽입하는 방법은 PHP 중국어 인증코드를 생성하는 방법을 참조할 수 있습니다.
    예 1, 숫자와 문자에 대한 코드를 무작위로 생성:

    //che.php
    session_start()
      for($i=0;$i< 4;$i )
    1. {
    2. $rand.=dechex(rand(1,15))
    3. }
    4. $_SESSION['check_num']=$rand
    5. $image= imagecreatetruecolor(50,30);
    6. $bg=imagecolorallocate($im,0,0,0);//팔레트를 처음 사용할 때 배경색
    7. $te=imagecolorallocate($im, 255,255,255 );
    8. imagestring($image,6,rand(0,20),rand(0,2),$rand,$te)
    9. ob_clean();// PHP 웹 페이지 자체 오류로 인해 "http://localhost/**.php" 이미지가 나타나 표시할 수 없습니다.
    10. header("Content-type:image/jpeg") imagejpeg($image)
    11. ?> ;
    12. 코드 복사
    예 2, 그림에 대한 간섭선 코드 그리기:

    for($i=0;$i<8;$i )//여러 줄 그리기
    {
      $cg=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//임의의 색상 생성
    1. imageline($im,rand(10,40),0 ,rand( 10,40),20,$cg);
    2. }
    3. 코드 복사
    예제 3, 그림에 간섭점을 그리는 코드:

    for($i=0;$i<80;$i )//여러 점 그리기
    {
      imagesetpixel($im,rand(0,40),rand(0,20),$cg)
    1. }
    2. 코드 복사
    3. 예 4, 이미지 코드에 텍스트 쓰기:

      1. $str=array('나','나','친애하는',' pro');//표시된 한자를 저장합니다

      2. for($i=0;$i<4;$i )
      3. {
      4. $sss.=$str[rand(0,3)] ; //한자 무작위 표시
      5. }

      6. //$str=iconv("gb2312","utf-8",$str) //한자 인코딩 변환 , 내 필요없는 것 같습니다

      7. imagettftext($im,10,0,rand(5,60),rand(5,60),$te,"simhei.ttf",$sss);//

      코드 복사

      0: 글꼴 성향, "simhei.ttf": 글꼴 스타일, 일반적으로 루트 디렉터리에 위치합니다. 🎜>

      이로써 PHP 이미지 확인 코드의 전체 제작 과정이 완료되었습니다. 스크립트 편집기에서는 이 글이 gd 라이브러리를 사용하여 PHP 확인 코드를 생성하는 데 도움이 되기를 바랍니다.


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