PHP 共通関数クラス - ランダム画像検証コードの生成
PHP で実装されたランダム ピクチャ検証コードのカプセル化クラスを共有します。これは、ランダム検証コード ピクチャを生成する最も単純な例で、OOP オブジェクト指向プログラミングと PHP ランダム ピクチャ検証コード生成を学習している学生に適しています。
<?php class Verify{ public function show() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 ); $bgc = imagecolorallocate($im, 255, 255, 255); $bgtxt = imagecolorallocate($im, 220, 220, 220); //随机调色板 $colors = array( imagecolorallocate($im, 255, 0, 0), imagecolorallocate($im, 0, 200, 0), imagecolorallocate($im, 0, 0, 255), imagecolorallocate($im, 0, 0, 0), imagecolorallocate($im, 255, 128, 0), imagecolorallocate($im, 255, 208, 0), imagecolorallocate($im, 98, 186, 245), ); //填充背景色 imagefill($im, 0, 0, $bgc); //随机获取数字 $verify = ""; while (strlen($verify) < $len) { $i = strlen($verify); $random = $str[rand(0, strlen($str))]; $verify .= $random; //绘制背景文字 imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $bgtxt); //绘制主文字信息 imagestring($im, 6, ($i*10)+3, rand(0,6), $random, $colors[rand(0, count($colors)-1)]); } //添加随机杂色 for($i=0; $i<100; $i++) { $color = imagecolorallocate($im, rand(50,220), rand(50,220), rand(50,220)); imagesetpixel($im, rand(0,70), rand(0,20), $color); } //将验证码存入$_SESSION中 $_SESSION["verify"] = $verify; //输出图片并释放缓存 header("Content-type: image/png"); imagepng($im); imagedestroy($im); } } // 使用方法 $verify = new Verify; $verify->show(); ?>
この記事では、ランダムな画像検証コードを実装するだけです。独自の画像スタイルをカスタマイズしたい場合は、コメント内の記述に従って色を調整するだけです。