本文主要跟大家分享php如何創建簡單驗證碼的程式碼,希望能幫助大家。
一、建立一個驗證碼輸出檔
session_start(); //5.创建一个验证码 $code_length = 4; $codes = ''; for($i=0;$i<$code_length;$i++) { $codes .= dechex(mt_rand(0,15)); } //7.生成sesstion $_SESSION['code'] = $codes; $width = 75; $height = 25; //1. 创建一张图片 $img = imagecreatetruecolor($width,$height); //4. 创建图片静态内容 //白色 $white = imagecolorallocate($img, 255, 255, 255); //黑色 $black = imagecolorallocate($img, 100, 100, 100); //红色 $red = imagecolorallocate($img, 255, 0, 0); //图片背景 imagefill($img, 0, 0, $white); //随机线条 for($i=0;$i<4;$i++) { //创建随机颜色 $img_mt_color = imagecolorallocate($img, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255)); //画线 imageline($img, mt_rand(0,$width),mt_rand(0,$height), mt_rand(0,$width),mt_rand(0,$height), $img_mt_color); } //随机打雪花 for($i=0;$i<100;$i++) { //创建随机浅淡色 $img_mt_color = imagecolorallocate($img, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255)); //画* imagestring($img,1, mt_rand(0,$width),mt_rand(0,$height),'*',$img_mt_color); } //imagestring($img, 3, 10, 10, strlen($codes), $red); //6.绘制验证码 for($i=0;$i<$code_length;$i++) { //创建验证码颜色(偏深色) $img_mt_color = imagecolorallocate($img, mt_rand(0,100), mt_rand(0,150), mt_rand(0,200)); //生成验证码每一位字符 imagestring($img, mt_rand(3,5), $i*$width/4 + mt_rand(0,10), mt_rand(1,$height/2), $_SESSION['code'][$i], $img_mt_color); } //创建红色矩形边框 imagerectangle($img, 0, 0, $width-1, $height-1, $red); //2. 让浏览器知道输出的是一张图片 header('Content-type:image/png'); //3. 输出 imagepng($img); //4. 销毁 imagedestroy($img);
#二、在另一個頁面呼叫這個驗證碼,並且實作點擊刷新驗證碼:
<img src="php_code_img.php" id="myCodeImg" /> <script type="text/javascript"> (function(){ var myCodeImg = document.getElementById_x('myCodeImg'); myCodeImg.onclick = function() { this.src = './php_code_img.php?mt='+Math.ceil(Math.random()*1000); } })(); </script>
相關推薦:
#基於PHP產生簡單的驗證碼,PHP產生簡單驗證碼_PHP教程
以上是php如何建立簡單驗證碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!