php imagepng를 출력할 수 없는 문제에 대한 해결 방법: 1. 파일을 BOM 없는 형식으로 저장합니다. 2. "header('Content-Type: image/)와 같은 코드를 사용하여 헤더를 정의하고 캐시 영역을 지웁니다. png');".
이 글의 운영 환경: 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='ABCDEFGHIJKLMNOPQRSTUVWXYZ123456789'; $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['code']=$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 ('Content-Type: image/png'); ob_clean();
추천 학습: "PHP 비디오 튜토리얼 "
위 내용은 php imagepng가 출력되지 않으면 어떻게 해야 하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!