PHP が検証コードを生成するときに「独自のエラーが発生したため、画像を表示できません」の解決策_PHP Tutorial
今日、コードを使用して PHP 検証コード生成機能を実装したところ、Firefox が「画像が独自のエラーのため表示できません。」というプロンプトを表示し続けることがわかりました。また、作成者は「ブラウザーが画像を表示する場合」というプロンプトを表示しました。独自のエラーのため表示できません。テキスト内のスペースを削除することはできますが、コード内のスペースをすべて削除しても、検査画像は表示できません。
そこで私は徹底的にグーグルで調べましたが、ほとんどの解決策は、HTML出力を防ぐためにすべてのスペースを削除し、「」コードの前でEnterを押すことでした。しかし、これは私の問題をまったく解決しませんでした。 ("Content-type: image/PNG"); このコードの前に ob_clean() を使用して出力をクリアすると、最初の試行で成功したことがわかりました。緊急の場合に備えて、元のコードを変更して以下に貼り付けてください:
確認コード生成ファイル checkNum_session.php
Header("Content-type: image/png");
/*
* Initialization
*/
$border = 1; //境界線が必要かどうか 1 はい: 0 いいえ
$how = 4 //画像の幅
$h = 20; height
$fontsize = 6; //フォントサイズ
$alpha = "abcdefghijkmnopqrstuvwxyz"; //検証コードの内容 1: 文字
$number = "023456789" //検証コードの内容 2: 数字
$randcode = ""; //検証用コード String 初期化
srand((double)microtime()*1000000); //乱数シードを初期化
$im = ImageCreate($w, $h); //検証用画像を作成
/*
* Frame
* /
$bgcolor = ImageColorAllocate($im, 255, 255, 255); //背景色を設定します
ImageFill($im, 0, 0, $bgcolor) //背景色を塗りつぶします
if($ border)
{
$black = ImageColorAllocate($im, 0, 0, 0); // 境界線の色を設定します
ImageRectangle($im, 0, 0, $w-1, $h-1, $black); //境界線を描画します
}
/*
* ランダムな文字を少しずつ生成します
*/
for($i=0; $i<$how; $i++)
{
$alpha_or_number = mt_rand(0, 1) ; //文字または数字
$ str = $alpha_or_number ? $alpha : $number;
$that = mt_rand(0, strlen($str)-1) // どの文字を取るか
$code = substr($str); , $that, 1); // 文字を取得
$j = !$i ? 4: $j+15; // 文字の位置を描画
$color3 = ImageColorAllocate($im, mt_rand(0,100), mt_rand(0,100) ), mt_rand(0,100)); //文字 次に color
ImageChar($im, $fontsize, $j, 3, $code, $color3); // 文字を描画します
$randcode .= $code;検証コード文字列を少しずつ
}
// 検証コード文字列をセッションに書き込みます
session_start();
$_SESSION['authnum_session'] = $randcode;
/*
* 干渉を追加します
*/
for($ i=0; $i<1; $i++) //背景の干渉線を描画します
$color1 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255));
ImageArc($im, mt_rand(-5,$ w), mt_rand(-5,$h), mt_rand(20,300), mt_rand(20,200), 55, 44, $color1) //干渉線
}
for ($i=0; $i<$how* 40; $i++)//背景干渉点を描画
{
$color2 = ImageColorAllocate($im, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //干渉点カラー
ImageSetPixel($im, mt_rand (0,$w), mt_rand(0,$h), $color2); //干渉点
}
//画像の問題を防ぐためのキーコード独自のエラーのため表示できません'
ob_clean();
/*描画終了*/
Imagegif($im);
ImageDestroy($im);
/*描画終了*/
session_start();
//ページでは、まずセッションを開く必要があります
//error_reporting(2047);
session_destroy ();
//毎回新しいセッション値を取得できるようにセッションを削除します;
//seesion を使用するとうまく機能し、非常に便利です
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
