Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn die Zeichnung mit gd in PHP nicht angezeigt werden kann?
Lösungen für das Problem, dass PHP keine Bilder mit GD anzeigen kann: 1. Speichern Sie das Dateiformat als utf-8-Format ohne BOM; 2. Verwenden Sie „ob_clean();“
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP verwendet die GD-Bibliothek zum Zeichnen von Bildern und kann das Problem nicht anzeigen
Zeichnen Sie den Bilddokumentstil gemäß dem Beamten GD-Bibliothek
Ursprünglicher Grundstil
$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);//销毁图像
Aber in der tatsächlichen Anwendung tritt das Problem auf, dass das Bild nicht normal angezeigt werden kann:
Die Gründe können folgende sein:
Ursache 1: Das Dateikodierungsformat hat einen BOM-Header. Die Lösung besteht darin, die ersten Codierungstools von Drittanbietern wie Sublime oder Notepad++ zu verwenden und das Dateiformat als UTF-8-Format ohne BOM zu speichern.
Grund 2: PHP-Pufferproblem. Die Lösung besteht darin, ob_clean zu verwenden (); um den Puffer zu löschen.
Häufig verwendete Pufferfunktion ob-Funktion
Referenz: http://php.net/manual/zh/ref.outcontrol.php
ob_get_contents() - 返回输出缓冲区的内容 ob_flush() - 冲刷出(送出)输出缓冲区中的内容 ob_clean() - 清空(擦掉)输出缓冲区 ob_end_flush() - 冲刷出(送出)输出缓冲区内容并关闭缓冲 ob_end_clean() - 清空(擦除)缓冲区并关闭输出缓冲 flush() - 刷新输出缓冲
Bestimmen Sie, ob die GD-Bibliothek installiert ist
function_exists('imagecreate' ) Pass Bestimmen Sie, ob die von der Erweiterungsbibliothek bereitgestellte Methode zur Bestimmung von get_extension_funcs() vorhanden ist. Sie ist jedoch nicht umfassend und diese Methode wird nicht empfohlen (da einige Erweiterungen keine Funktionen bereitstellen).
in_array('extension', get_loaded_extensions()) Durch Überprüfen, ob die Erweiterung vorhanden ist. Überprüfen Sie, ob die Erweiterung installiert ist, indem Sie beurteilen, ob sie installiert ist (umfassend, aber nicht prägnant).
extension_loade('Name der Erweiterungsbibliothek') Überprüfen Sie, ob die Erweiterung geladen ist (umfassend, aber nicht prägnant). Es wird empfohlen, diese Methode zu verwenden, um zu überprüfen, ob die Erweiterung installiert ist. Laden)
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn die Zeichnung mit gd in PHP nicht angezeigt werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!