ホームページ  >  記事  >  バックエンド開発  >  PHPで画像が表示できない場合はどうすればよいでしょうか?

PHPで画像が表示できない場合はどうすればよいでしょうか?

藏色散人
藏色散人オリジナル
2020-07-25 09:50:034025ブラウズ

php で画像が表示できない問題の解決策: 1. 「php.ini」ファイルの「extension=php_gd2.dll」の前のセミコロンを削除します; 2. 「extension_dir」を正しく設定します; 3.ファイル 「utf8 no bom」形式で保存します。

PHPで画像が表示できない場合はどうすればよいでしょうか?

推奨: 「PHP チュートリアル

PHP で動的に生成された画像は表示できません

テストコード:

<?php
header("Content-type: image/png");
$im = @imagecreate(200, 30) or die("无法连接GD库!");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 5, 5, 5,  "A Simple Text String", $text_color);
imagepng($im);
imagedestroy($im);
?>

画像が表示できない場合は、次の問題が考えられます:

1. PHP のコード extension=php_gd2.dll の前のセミコロン.ini ファイルは削除されませんでした。

2. extension_dir が正しく設定されていません。正しい設定は次のようになります: extension_dir = "E:/Project/Web/php5.3/ext"

3. ファイルのエンコーディングに関しては、ファイルは utf8 no bom 形式で保存する必要があります。 bom に関する情報 説明:

----------------注 ------------------------ --

UTF-8 でエンコードされたファイルは、BOM なしと BOM の 2 つの形式に分けることができます。

BOM とは何ですか? 3 バイトの「EF BB BF」は BOM と呼ばれ、フルネームは BOM と呼ばれます。 BOM の「バイト オーダー」は「Mard」です。BOM は通常、ファイルが UTF-8 ファイルであることを示すために UTF-8 ファイルで使用されます。BOM の本来の意味は、UTF16 で上位および下位のバイト シーケンスを表すために使用されます。

バイト ストリームの前に BOM があります。これは、下位バイト シーケンスが使用される (下位バイトが前にある) ことを意味し、utf8 はバイト シーケンスを考慮する必要がないため、実際には、 BOM の有無にかかわらず使用できます。

Microsoft のメモ帳や Word などは、BOM を含む UTF8 ファイルしか正しく開くことができませんが、UltraEdit はその逆で、BOMutf8 ファイルを ASCII エンコードと誤認します。 ... ....

以上がPHPで画像が表示できない場合はどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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