Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn PHP ImagePNG nicht ausgegeben werden kann?
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');".
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='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) Ä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 ('Content-Type: image/png'); ob_clean();
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!