Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP ImagePNG nicht angezeigt werden kann?

Was tun, wenn PHP ImagePNG nicht angezeigt werden kann?

藏色散人
藏色散人Original
2022-01-20 11:41:212754Durchsuche

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.

Was tun, wenn PHP ImagePNG nicht angezeigt werden kann?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn