Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apakah yang perlu saya lakukan jika php imagepng tidak boleh dikeluarkan?

Apakah yang perlu saya lakukan jika php imagepng tidak boleh dikeluarkan?

藏色散人
藏色散人asal
2021-09-14 09:21:111873semak imbas

Penyelesaian kepada masalah yang php imagepng tidak boleh dikeluarkan: 1. Simpan fail dalam format bebas BOM 2. Tentukan pengepala dan kosongkan kawasan cache, dengan kod seperti "header ('Content-; Jenis: imej/png') ;".

Apakah yang perlu saya lakukan jika php imagepng tidak boleh dikeluarkan?

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Mengapa boleh 't php imagepng akan diuruskan?

Masalah yang PHP ImagePng() tidak boleh memaparkan output imej dalam penyemak imbas

Ambil kod yang menjana kod pengesahan secara rawak sebagai contoh Jika anda ingin berjaya mengeluarkan kod imej ke penyemak imbas, anda mesti memberi perhatian kepada dua perkara :

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) Simpan fail dalam format bebas BOM

(2) Tentukan pengepala dan kosongkan cache

header (&#39;Content-Type: image/png&#39;);
ob_clean();

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php imagepng tidak boleh dikeluarkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn