Maison > développement back-end > Problème PHP > Que faire si php imagepng ne peut pas être affiché

Que faire si php imagepng ne peut pas être affiché

藏色散人
Libérer: 2023-03-14 21:50:02
original
2811 Les gens l'ont consulté

Solutions pour l'imagepng PHP qui ne peut pas être affichée : 1. Utilisez un outil d'encodage tiers pour enregistrer le format de fichier au format utf-8 sans nomenclature ; 2. Utilisez "ob_clean();"

Que faire si php imagepng ne peut pas être affiché

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

php Que dois-je faire si imagepng ne peut pas être affiché

PHP utilise la bibliothèque GD pour dessiner des images et ? Impossible d'afficher le problème

Selon le style de document d'image de dessin officiel de la bibliothèque GD

Style de base original :

$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);//销毁图像
Copier après la connexion

Cependant, dans l'application réelle, il y aura un problème car l'image ne peut pas être affichée normalement :

Les raisons peuvent être les suivantes :

Raison 1 : Le format d'encodage du fichier a un en-tête BOM La solution est d'utiliser un outil d'encodage tiers, sublime ou notepad++, etc. pour enregistrer le format de fichier en tant que BOM-. format utf-8 gratuit

 Cause 2 : problème de tampon PHP, la solution est d'utiliser ob_clean ();Effacer le tampon.

Fonction ob de la fonction tampon couramment utilisée

Référence : http://php.net/manual/zh/ref.outcontrol.php

ob_get_contents() - Renvoie le contenu du tampon de sortie

ob_flush( ) - Vider (envoyer) le contenu du tampon de sortie

ob_clean() - Effacer (effacer) le tampon de sortie

ob_end_flush() - Vider (envoyer) le contenu du tampon de sortie et fermer le tampon

ob_end_clean( ) - Effacer (effacer) le tampon et fermer le tampon de sortie

flush() - Vider le tampon de sortie

Déterminer si la bibliothèque GD est installée

function_exists('imagecreate') Déterminer si la méthode fournie par l'extension La bibliothèque existe pour déterminer si get_extension_funcs( ), mais elle n'est pas exhaustive et n'est pas recommandée (car certaines extensions ne fournissent pas de fonctions)

in_array('extension', get_loaded_extensions()) détermine si l'extension est installée en vérifiant si elle est parmi les extensions chargées (complète, mais pas concise)

extension_loade('extension library name') Vérifiez en jugeant si la bibliothèque d'extension est chargée (complète, pas concise, il est recommandé d'utiliser cette méthode pour vérifier si l'extension est installée et chargé)

Apprentissage recommandé : "Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal