Rumah > Artikel > pembangunan bahagian belakang > Apa yang perlu dilakukan jika php imagepng tidak dapat dipaparkan
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.
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!