Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Apa yang perlu dilakukan jika php imagepng tidak dapat dipaparkan

Apa yang perlu dilakukan jika php imagepng tidak dapat dipaparkan

藏色散人
藏色散人asal
2022-01-20 11:41:212768semak imbas

Penyelesaian kepada masalah yang php imagepng tidak dapat dipaparkan: 1. Gunakan alat pengekodan pihak ketiga untuk menyimpan format fail sebagai format utf-8 tanpa BOM 2. Gunakan "ob_clean();" kosongkan penimbal.

Apa yang perlu dilakukan jika php imagepng tidak dapat dipaparkan

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

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

PHP menggunakan perpustakaan GD untuk melukis imej dan tidak boleh memaparkan masalah

Lukis gaya dokumen imej mengikut perpustakaan GD rasmi

Gaya asas asal:

$width = 120;
$height = 50;
$img = @imagecreatetruecolor($width, $height) or die('Cannot Initialize new GD image stream');;//新建一个GD图像资源
$img_bgcolor = imagecolorallocate($img, mt_rand(157,255), mt_rand(157,255), mt_rand(157,255));//背景色
$img_textcolor = imagecolorallocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));//字体颜色
$img_rectangle = imagefilledrectangle($img,0,0,$width, $height,$img_bgcolor);//画一个矩形图像
imagestring($img, 1, 5, 5, 'A Simple Text String', $img_textcolor);
// 输出图像
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);//销毁图像

Walau bagaimanapun, dalam aplikasi sebenar, akan ada masalah bahawa imej tidak dapat dipaparkan secara normal:

Sebabnya mungkin seperti berikut:

Sebab 1: Format pengekodan fail mempunyai pengepala BOM Penyelesaiannya ialah menggunakan alat pengekodan pihak ketiga, sublime atau notepad, dsb. untuk menyimpan format fail sebagai format utf-8 tanpa BOM

Sebab 2: Masalah penimbal PHP, penyelesaiannya adalah dengan menggunakan ob_clean() untuk mengosongkan penimbal.

Fungsi penimbal biasa ob fungsi

Rujukan: http://php.net/manual/zh/ref.outcontrol.php

ob_get_contents() - Mengembalikan kandungan penimbal output

ob_flush() - Mengeluarkan (menghantar keluar) kandungan penimbal output

ob_clean() - Membersihkan (memadamkan) ) ) Penampan keluaran

ob_end_flush() - Siram (hantar keluar) kandungan penimbal keluaran dan tutup penimbal

ob_end_clean() - Kosongkan (padam) penimbal dan tutup penimbal keluaran

flush() - Siram penimbal output

Tentukan sama ada pustaka GD dipasang

function_exists('imagecreate') Tentukan sama ada kaedah yang disediakan oleh pustaka sambungan wujud get_extension_funcs(), tetapi tidak menyeluruh, kaedah ini tidak disyorkan (kerana sesetengah sambungan tidak menyediakan fungsi)

in_array('extension', get_loaded_extensions()) Dengan mengesahkan sama ada sambungan itu dalam dimuatkan sambungan Tentukan sama ada ia dipasang (komprehensif, tetapi tidak ringkas)

extension_loade('extension library name') Sahkan dengan menentukan sama ada pustaka sambungan dimuatkan (komprehensif, tetapi tidak ringkas, kaedah ini disyorkan untuk mengesahkan sama ada sambungan dipasang dan dimuatkan)

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Apa yang perlu dilakukan jika php imagepng tidak dapat dipaparkan. 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