Was soll ich tun, wenn PHP ImagePNG nicht ausgegeben werden kann?

藏色散人
Freigeben: 2023-03-12 14:14:02
Original
1881 Leute haben es durchsucht

Lösung für das Problem, dass php imagepng nicht ausgegeben werden kann: 1. Speichern Sie die Datei in einem BOM-freien Format. 2. Definieren Sie den Header und löschen Sie den Cache-Bereich mit Code wie „header ('Content-Type: image/ png');".

Was soll ich tun, wenn PHP ImagePNG nicht ausgegeben werden kann?

Die Betriebsumgebung dieses Artikels: Windows7-System, PHP7.1-Version, DELL G3-Computer

Was soll ich tun, wenn PHP ImagePNG nicht ausgegeben werden kann?

Das Problem, dass PHP ImagePng() die Bildausgabe nicht im Browser anzeigen kann

Nehmen Sie den Code, der den Bestätigungscode zufällig generiert. Wenn Sie das Bild erfolgreich an den Browser ausgeben möchten, müssen Sie darauf achten zwei Dinge:

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);
	}
Nach dem Login kopieren
<img class="img" src="http://xxxx/captcha">
Nach dem Login kopieren

(1) Ändern Sie die Datei dort, wo sie sich befindet. Speichern Sie sie im Stücklisten-freien Format

(2) Definieren Sie den Header und löschen Sie den Cache-Bereich

header (&#39;Content-Type: image/png&#39;);
ob_clean();
Nach dem Login kopieren

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP ImagePNG nicht ausgegeben werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage