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();"
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);//销毁图像
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!