ホームページ  >  記事  >  バックエンド開発  >  php imagepngが表示できない場合の対処法

php imagepngが表示できない場合の対処法

藏色散人
藏色散人オリジナル
2022-01-20 11:41:212755ブラウズ

php imagepng が表示できない問題の解決策: 1. サードパーティのエンコード ツールを使用して、BOM なしの utf-8 形式でファイル形式を保存します。 2. 「ob_clean();」を使用して、バッファをクリアします。

php imagepngが表示できない場合の対処法

この記事の動作環境: Windows 7 システム、PHP バージョン 7.1、DELL G3 コンピューター

こんな場合はどうすればよいですか? php imagepng を表示できません?

PHP は GD ライブラリを使用して画像を描画しますが、問題を表示できません

公式 GD ライブラリによると、画像ドキュメント スタイルを描画します

オリジナルの基本スタイル:

$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);//销毁图像

ただし、実際のアプリケーションでは画像が正常に表示できない問題が発生する可能性があります:

理由は次のとおりです:

理由 1: ファイルのエンコード形式に BOM ヘッダーが含まれている場合、解決策は、サードパーティのエンコード ツール、Sublime またはメモ帳などを使用して保存することです。ファイル形式は BOM フリー utf-8 形式です

理由 2: PHP バッファーの問題。解決策は、ob_clean(); を使用してバッファーをクリアすることです。

一般的に使用されるバッファ関数 ob function

参考: http://php.net/manual/zh/ref.outcontrol.php

ob_get_contents() - 出力バッファの内容を返します。

ob_flush() - 出力バッファの内容をフラッシュします (送信します)

ob_clean() - クリアします ( Erase) ) 出力バッファ

ob_end_flush() - 出力バッファの内容をフラッシュ(送信)し、バッファを閉じます

ob_end_clean() - バッファをクリア(消去)し、出力バッファ

flush() - 出力バッファをフラッシュします

GDライブラリがインストールされているかどうかを確認します

function_exists('imagecreate')拡張ライブラリによって提供されるメソッド get_extension_funcs() は存在しますが、包括的ではないため推奨されません (拡張機能によっては関数が提供されていないため)

in_array('拡張子名', get_loaded_extensions()) extension は読み込まれた拡張機能にあります インストールされているかどうかを判断します (包括的ですが簡潔ではありません)

extension_loade('拡張ライブラリ名') 拡張ライブラリがロードされているかどうかを判断して検証します (包括的ですが簡潔ではありません)拡張機能がインストールされ読み込まれているかどうかを確認するには、この方法を使用することをお勧めします)

推奨学習: "PHP ビデオ チュートリアル "

以上がphp imagepngが表示できない場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。