Heim > Artikel > Backend-Entwicklung > Was tun, wenn PHP ImagePNG nicht angezeigt werden kann?
Lösungen für PHP-ImagePNG, die nicht angezeigt werden können: 1. Verwenden Sie ein Codierungstool eines Drittanbieters, um das Dateiformat als BOM-freies UTF-8-Format zu speichern. 2. Verwenden Sie „ob_clean();“, um den Puffer zu löschen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
php Was soll ich tun, wenn imagepng nicht angezeigt werden kann?
PHP verwendet die GD-Bibliothek zum Zeichnen von Bildern und Das Problem kann nicht angezeigt werden
Laut dem offiziellen Zeichenbilddokumentstil der 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);//销毁图像
In der tatsächlichen Anwendung tritt jedoch das Problem auf, dass das Bild nicht normal angezeigt werden kann:
Die Gründe können folgende sein:
Grund 1: Das Dateicodierungsformat verfügt über einen BOM-Header. Die Lösung besteht darin, ein Codierungstool eines Drittanbieters, Sublime oder Notepad++ usw., zu verwenden, um das Dateiformat als BOM zu speichern. kostenloses UTF-8-Format
Ursache 2: PHP-Pufferproblem, die Lösung besteht darin, ob_clean ();Löschen Sie den Puffer.
Häufig verwendete Pufferfunktion ob-Funktion
Referenz: http://php.net/manual/zh/ref.outcontrol.php
ob_get_contents() – Gibt den Inhalt des Ausgabepuffers zurück
ob_flush( ) – Leeren (senden) Sie den Inhalt des Ausgabepuffers
ob_clean() – Löschen (löschen) Sie den Ausgabepuffer
ob_end_flush() – Leeren (senden) Sie den Inhalt des Ausgabepuffers und schließen Sie den Puffer
ob_end_clean( ) – Puffer löschen (löschen) und Ausgabepuffer schließen
flush() – Ausgabepuffer leeren
Bestimmen, ob die GD-Bibliothek installiert ist
function_exists('imagecreate') Bestimmen, ob die von der Erweiterung bereitgestellte Methode Es gibt eine Bibliothek, um festzustellen, ob get_extension_funcs( ), aber sie ist nicht umfassend und wird nicht empfohlen (da einige Erweiterungen keine Funktionen bereitstellen).
in_array('extension', get_loaded_extensions()) bestimmt, ob die Erweiterung installiert ist, indem überprüft wird, ob dies der Fall ist unter den geladenen Erweiterungen (umfassend, aber nicht prägnant)
extension_loade('Name der Erweiterungsbibliothek') Überprüfen Sie, ob die Erweiterungsbibliothek geladen ist (umfassend, nicht prägnant). Es wird empfohlen, diese Methode zu verwenden, um zu überprüfen, ob die Erweiterung installiert ist und geladen)
Empfohlenes Lernen: „PHP-Video-Tutorial 》
Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP ImagePNG nicht angezeigt werden kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!