> 백엔드 개발 > PHP 문제 > php imagepng가 출력되지 않으면 어떻게 해야 하나요?

php imagepng가 출력되지 않으면 어떻게 해야 하나요?

藏色散人
풀어 주다: 2023-03-12 14:14:02
원래의
1916명이 탐색했습니다.

php imagepng를 출력할 수 없는 문제에 대한 해결 방법: 1. 파일을 BOM 없는 형식으로 저장합니다. 2. "header('Content-Type: image/)와 같은 코드를 사용하여 헤더를 정의하고 캐시 영역을 지웁니다. png');".

php imagepng가 출력되지 않으면 어떻게 해야 하나요?

이 글의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

php imagepng가 출력되지 않으면 어떻게 해야 하나요?

PHP ImagePng()가 브라우저에서 이미지 출력을 표시하지 못하는 문제

인증 코드를 무작위로 생성하는 코드를 예로 들어 이미지를 브라우저에 성공적으로 출력하려면 주의해야 합니다. 두 가지:

private function captcha(){
		ob_clean();
		session_start();
		
		header ('Content-Type: image/png');

		$image=imagecreatetruecolor(100, 30);//背景颜色为白色
		$color=imagecolorallocate($image, 255, 255, 255);
		imagefill($image, 20, 20, $color);

		$code='';
		for($i=0;$i<4;$i++){
		    $fontSize=8;
		    $x=rand(5,10)+$i*100/4;
		    $y=rand(5, 15);
		    $data=&#39;ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789&#39;;
		    $string=substr($data,rand(0, strlen($data)),1);
		    $code.=$string;
		    $color=imagecolorallocate($image,rand(0,120), rand(0,120), rand(0,120));
		    imagestring($image, $fontSize, $x, $y, $string, $color);
		}
		$_SESSION[&#39;code&#39;]=$code;//存储在session里

		for($i=0;$i<200;$i++){
		    $pointColor=imagecolorallocate($image, rand(100, 255), rand(100, 255), rand(100, 255));
		    imagesetpixel($image, rand(0, 100), rand(0, 30), $pointColor);
		}
		for($i=0;$i<2;$i++){
		    $linePoint=imagecolorallocate($image, rand(150, 255), rand(150, 255), rand(150, 255));
		    imageline($image, rand(10, 50), rand(10, 20), rand(80,90), rand(15, 25), $linePoint);
		}
		imagepng($image);
		imagedestroy($image);
	}
로그인 후 복사
<img class="img" src="http://xxxx/captcha">
로그인 후 복사

(1) 파일이 있는 위치 변경 BOM-free 형식으로 저장

(2) 헤더 정의 및 캐시 영역 지우기

header (&#39;Content-Type: image/png&#39;);
ob_clean();
로그인 후 복사

추천 학습: "PHP 비디오 튜토리얼 "

위 내용은 php imagepng가 출력되지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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