php で検証コードの画像が表示できない問題の解決策: 1. ";extension=php_gd2.dll" のセミコロンを削除します; 2. コードのエンコード形式を BOM フリー形式に変更します。 3. 「ob_clean()」関数を使用してキャッシュをクリアします。
推奨: 「PHP ビデオ チュートリアル 」
;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
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 バージョンを使用する場合は、未定義の変数は使用できません。そうしないと、
notice エラーが報告されます。
以上がPHPで認証コード画像が表示できない問題の解決方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。