このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 5.6. この方法は、すべてのブランドのコンピューターに適しています。php 検証コードで画像が表示されない問題の解決策: 1. php.ini ファイルの「;extension=php_gd2.dll」内のセミコロンを削除します; 2. php.ini ファイルのエンコード形式を変更します。コードを 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 をサポートするために追加されました
は表示されませんが、追加の空白行と同様に出力が生成されます。
通常、私は UTF-8 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 バージョンを使用する場合、未定義の変数は使用できません。そうでない場合は、通知エラーが報告されます。$new_number と $_SESSION['check_checks'] は次のとおりです。使用前に isset を使用してチェックする必要があります。または、古いコードを使用する場合は、通知エラーをブロックするために error_reporting(E_ALL & ~E_NOTICE) を先頭に追加します (推奨されません)。が定義されています。そうしないと、認証コードが表示されない場合があります。
以上がPHP 検証コードで画像が表示されない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。