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

PHP 検証コードで画像が表示されない場合はどうすればよいですか?

藏色散人
藏色散人オリジナル
2020-12-01 09:20:292512ブラウズ

php 検証コードで画像が表示されない問題の解決策: 1. php.ini ファイルの「;extension=php_gd2.dll」内のセミコロンを削除します; 2. php.ini ファイルのエンコード形式を変更します。コードを BOM フリー形式に変換します ;3. ob_clean を使用してキャッシュをクリアします。

PHP 検証コードで画像が表示されない場合はどうすればよいですか?

# 推奨: 「PHP ビデオ チュートリアル #」

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 5.6. この方法は、すべてのブランドのコンピューターに適しています。

php 検証コードで画像が表示されない問題の解決策:

問題


今日は、ローカルに新しい仮想ホストを作成し、以前作成した小さな PHP Web サイトをデプロイしましたが、以前は wamp 統合環境を使用していたので、このような状況は発生しませんでした。ここで突然、認証コードが生成できないことに気づきました。

そこで、私はバグを見つける旅を始めました。インターネットで多くの解決策を検索し、最終的に解決しました。今、それを次のように共有します:

bug1

上記の状況が発生した場合、最終的な解決策は次のとおりです。 基本的な間違いは、おそらく php に gd モジュールをインストールするのを忘れていることです。

ウィンドウ環境では、php.ini ファイルで見つける必要があるだけです。

;extension=php_gd2.dll
その前にあるセミコロンを削除するだけです。Apache を再起動した後、これは phpinfo( )

#ubuntu 環境の場合は、gd モジュールをインストールする必要があります。コマンドは

sudo apt-get install php5-gd

です。インストール後、上のモジュール。

bug2

上記のインストール後も動作しないことが判明した場合は、次の問題である可能性があります

あなたのコードはおそらく編集された場合のようなものを使用していますeditpuls やメモ帳などのテキスト エディタを使用する場合、デフォルトのエンコード形式は BOM 付きの utf-8 です。

UTF-8 BOM は UTF-8 署名とも呼ばれます。実際、UTF-8 BOM は UFT-8 には影響しません。UTF-16 と UTF-32 をサポートするために追加されました


BOM、BOM 署名は、編集者の識別を容易にするために、現在のファイルがどのエンコーディングを使用しているかをエディターに伝えることを意味します。ただし、BOM はエディター内にありますが、

は表示されませんが、追加の空白行と同様に出力が生成されます。

通常、私は UTF-8 BOM フリー形式を使用します
そのため、コードのエンコード形式を

BOM フリー形式に変更する必要があります。

bug3

#上記の 2 つの手順を実行してもまだ機能しない場合は、トランプ。

ob_clean() を使用してキャッシュをクリアします。

ob_clean この関数は、出力バッファの内容を破棄するために使用されます。生成された画像ファイルが多数ある場合、それらに正しくアクセスするには、頻繁にバッファリングします。

	public function create()
	{
		ob_clean();
		$a = new verify();
		session::set('captcha', strtolower($a->create(4, 15)));
		view::assign("captcha", $a);
		view::display("captcha");
		exit(0);
	}

これで、通常の状態に戻っていることが誰にでもわかります


##

注: より新しい php バージョンを使用する場合、未定義の変数は使用できません。そうでない場合は、通知エラーが報告されます。$new_number と $_SESSION['check_checks'] は次のとおりです。使用前に isset を使用してチェックする必要があります。または、古いコードを使用する場合は、通知エラーをブロックするために error_reporting(E_ALL & ~E_NOTICE) を先頭に追加します (推奨されません)。が定義されています。そうしないと、認証コードが表示されない場合があります。

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

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