PHP에서 브라우저를 통해 이미지를 표시하거나 동적 이미지 (예 : Verification Code)를 생성하려면 Header () 함수를 사용하여 응답 헤더를 설정하여 브라우저에 일반 텍스트 또는 HTML 페이지가 아닌 이미지 유형을 반환한다고 알려 주어야합니다.
이 기사에서는 PHP의 헤더 () 함수를 사용하여 검증 코드 이미지를 생성하고 리턴하는 방법을 소개합니다. 확인 코드는 웹 사이트 등록, 로그인 및 기타 시나리오에서 널리 사용되며 로봇이 양식을 자동으로 제출하는 것을 방지하는 데 사용됩니다.
검증 코드 사진 생성은 일반적으로 다음 단계가 필요합니다.
무작위 검증 코드 문자 생성 : 확인 코드의 내용은 숫자, 문자 또는 숫자 및 문자 조합 일 수 있습니다.
이미지 리소스 만들기 : PHP의 imageCreate () 또는 imageCreateTrueColor () 함수를 사용하여 빈 이미지를 만듭니다.
텍스트 그리기 : 이미지 에서 확인 코드 문자 를 그리십시오.
응답 헤더 설정 : 헤더 () 함수를 사용하여 이미지 유형의 브라우저에 알립니다.
출력 이미지 : ImagePng () , ImageJpeg () 및 기타 함수를 통해 이미지를 브라우저로 출력합니다.
이미지 리소스 파괴 : 이미지 리소스 () 함수를 사용하여 이미지 리소스를 해제합니다.
다음은 PHP를 사용하여 확인 코드 이미지를 작성하고 리턴하는 코드 예제입니다.
<?php
// 응답 헤더를 설정하십시오,브라우저에 이미지를 반환하고 있다고 알려줍니다
header("Content-Type: image/png");
// 빈 이미지를 만듭니다,너비는 120px,높이입니다 40px
$width = 120;
$height = 40;
$image = imagecreate($width, $height);
// 배경색과 텍스트 색상을 설정합니다
$background_color = imagecolorallocate($image, 255, 255, 255); // 흰색 배경
$text_color = imagecolorallocate($image, 0, 0, 0); // 검은 텍스트
// 무작위 검증 코드 문자를 생성합니다
$characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$captcha_text = substr(str_shuffle($characters), 0, 5);
// 그림에 검증 코드 텍스트를 그립니다
imagestring($image, 5, 30, 10, $captcha_text, $text_color);
// 출력 사진
imagepng($image);
// 이미지 자원을 파괴하십시오,무료 메모리
imagedestroy($image);
?>
응답 헤더 설정 : 헤더 ( "내용 유형 : 이미지/png"); 이 줄은 응답 헤더를 설정하여 브라우저에 반환 된 컨텐츠가 PNG 형식의 이미지라고 알려줍니다. JPEG ( image/jpeg )와 같은 필요에 따라 다른 이미지 형식으로 변경할 수 있습니다.
이미지 자원 생성 : imageCreate ($ width, $ 높이); 지정된 너비와 높이의 빈 이미지를 생성하여 이미지 리소스를 반환합니다.
세트 색상 : imageColorAllother ($ image, 255, 255, 255); 및 ImageColorAllogy ($ image, 0, 0); 이미지의 배경색 (흰색) 및 텍스트 색상 (검은 색)을 정의하는 데 사용됩니다.
임의의 검증 코드 생성 : substr (str_shuffle ($ 문자), 0, 5); 이 코드 라인은 검증 코드로 설정된 문자에서 5자를 무작위로 선택합니다.
텍스트 그리기 : imagestring ($ image, 5, 30, 10, $ captcha_text, $ text_color); 생성 된 검증 코드 텍스트를 이미지에 그리는 책임이 있습니다.
출력 이미지 : ImagePng ($ image); 이미지를 브라우저에 출력하면 브라우저가 자동으로 이미지로 표시됩니다.
이미지 리소스 파괴 : ImageStroy ($ image); 메모리 누출을 피하기 위해 이미지 리소스를 자유롭게하는 데 사용됩니다.
검증 코드를 생성 할 때 글꼴, 그림 등과 같은 외부 리소스를 참조 해야하는 경우 URL 주소가 관련 될 수 있습니다. 이 경우 URL의 도메인 이름을 M66.net 으로 바꿀 수 있습니다.