GD2 機能を使用して 4 桁の確認コードを生成すると、画像が表示されないのはなぜですか?
S.L
S.L 2017-08-21 20:38:54
0
1
1277

#<?php

session_start();
header("content-type:image/png"); / /Set画像の作成形式
$ Image_width = 70; // 画像の幅を設定
$ Image_height = 18; // 画像の高さを設定
srand (microtime()*100000); // ランダムな乱数を設定数値シード
for ($ i = 0; $ i & lt; 4; $ i) {// 4 ビットの乱数を出力するサイクル
$ New_number. = Dechex (RAND (0,15));
}
$_SESSION[check_checks]=$new_number; //取得した乱数検証コードをSESSION変数に書き込む

$num_image=imagecreate($image_width,$image_height); //作成a Canvas
imagecolorallocate($num_image,255,255,255); //キャンバスの色を設定します
for($i=0;$i $ font = mt_rand (3,5); // ランダムなフォントを設定します
$ x = mt_rand (1,8) $ image_width*$ I/4; // ランダムなフォントを設定します位置の X 座標
$y=mt_rand(1,$image_height/4); //ランダムな文字の位置の Y 座標を設定します
$color=imagecolorallocate($num_image,mt_rand(0,100 ),mt_rand(0,150) ,mt_rand(0,200)); //文字の色を設定
imagestring($num_image,$font,$x,$y,$_SESSION[check_checks][$i],$color) ; //文字を水平に出力
}
imagepng($num_image); ' ‐ ' s ' s ‐ ‐ ‐ ‐ ‐ ‐ PNG 形式を使用するには、PNG 形式を使用します--

S.L
S.L

全員に返信(1)
风豆丁

コードに多くのエラーがあります。

まず header("content-type:image/png"); をコメントアウトして、最初にエラーに対処します。

通常、ヘッダーは画像を生成するimagepng()関数の上に設定され、エラーを簡単に調整できます。

いいねを押す +0
  • 返事 このコードはチュートリアルからコピーされたものなので、正しいはずです。あなたの方法に従っては機能せず、次のエラーが発生します。 ( ! ) 注意: 未定義の変数: D:wamp64wwwlianxichecks.php の 7 行目の new_number コールスタック # タイムメモリ機能の場所 1 0.0007 244832 {メイン}( ) ...checks.php:0
    S.L 著者 2017-08-22 23:22:07
  • 返事 for ループの前に $num_number に初期値を指定します。$_SESSION 添字は文字列である必要があります。以下に変更するだけです。 セッション開始(); header("content-type:image/png"); //作成する画像の形式を設定します。 $image_width=70; //画像の幅を設定します。 $image_height=18; //画像の高さを設定します srand(microtime()*100000); //乱数シードを設定します $new_number = ''; for($i=0;$i<4;$i++){ //ループして 4 桁の乱数を出力します $new_number .= dechex(rand(0,15)); } $_SESSION['check_checks']=$new_number; //取得した乱数検証コードをSESSION変数に書き込む $num_image=imagecreate($image_width,$image_height); //キャンバスを作成します imagecolorallocate($num_image,255,255,255); //キャンバスの色を設定します。 for($i=0;$i<strlen($_SESSION['check_checks']);$i++){ //SESSION 変数内の検証コードを読み取るループ $font=mt_rand(3,5); //ランダムなフォントを設定します $x=mt_rand(1,8)+$image_width*$i/4; //ランダムな文字位置の X 座標を設定します。 $y=mt_rand(1,$image_height/4); //ランダムな文字位置の Y 座標を設定します。 $color=imagecolorallocate($num_image,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200)); //文字の色を設定します imagestring($num_image,$font,$x,$y,$_SESSION['check_checks'][$i],$color); } imagepng($num_image); //PNG 形式で画像を生成します imagedestroy($num_image); //画像リソースを解放します。
    风豆丁 著者 2017-08-23 22:23:48
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート