ホームページ  >  記事  >  バックエンド開発  >  検証コード画像を生成して出力する; X の画像を常に出力するにはどうすればよいですか?

検証コード画像を生成して出力する; X の画像を常に出力するにはどうすればよいですか?

WBOY
WBOYオリジナル
2016-06-13 12:02:58945ブラウズ

検証コードのイメージを生成して出力します。出力が常に $num=" ";
for($i=0;$i $num .=rand のイメージになるのはなぜですか。 (0,9);
}
session_start();
$_SESSION["Checknum"]=$num;
header("Content-type:image/png");
srand((double)microtime()*1000000);
[email protected](60,20);
@imagecolorallocate($im,255,255,255);
$black=imagecolorallocate($im,0, 0,0);
$gray=imagecolorallocate($im,200,200,200 );
imagefill($im,0,0,$gray);
$style=array($black,$black,$ black,$black,$black,$gray,$gray,$gray, $gray,$gray);
imagesetstyle($im,$style);
$y1=rand(0,20);
$y2=rand(0,20);
$y3 =rand(0,20);
$y4=rand(0,20);
イメージライン($im,0,$y1 ,60,$y3,IMG_COLOR_STYLED);
イメージライン($im, 0,$y2,60,$y4,IMG_COLOR_STYLED);
for($i=0;$i imagesetpixel($im,rand(0,60),rand(0,20),$black);
}
$strx=rand(3,8);
for($i= 0;$i $strpos= rand(1,6);
imagestring($im,5,$strx,$strpos,substr($num,$i,1) ,$black);
$strx =rand(8,12) ;
}
imagepng($im);
imagedestroy($im);
?>

------解決策----------------

1. GD 拡張機能がロードされていません2.ファイルには BOM ヘッダーがあります
-----解決策- ------------------

先頭の漢字を削除してくださいsession_start() の位置を変更すると、問題ないようです< ?php
session_start();
$num=" ";
for($i=0; $i $num .=rand(0,9) ;
}

$_SESSION["Checknum"]=$num;
header(" Content-type:image/png");
srand((double)microtime()* 1000000);
[email protected](60,20);
@imagecolorallocate($im,255,255,255);
$black=imagecolorallocate($im,0,0,0);
$grey=imagecolorallocate($im,200,200,200);
imagefill($im,0,0,$gray);
$style=array($black,$black,$black,$black,$black,$ grey,$gray,$gray,$gray,$gray);
imagesetstyle($im,$style);
$y1=rand(0,20);
$y2=rand(0, 20);
$y3=rand(0,20);
$y4=rand(0,20) ;
イメージライン($im,0,$y1,60,$y3,IMG_COLOR_STYLED);
イメージライン($im,0,$y2,60,$y4,IMG_COLOR_STYLED);
for($i =0;$i imagesetpixel($im,rand( 0,60),rand(0,20),$black);
}
$strx=rand( 3,8);
for($i=0;$i $strpos=rand(1,6);
imagestring($im,5,$strx, $strpos,substr($num,$i,1),$black);
$ strx =rand(8,12);
}
imagepng($im);
imagedestroy($私);
?>

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