PHP高级的图像验证码
发布时间:2020-05-25 06:57:15 所属栏目:PHP 来源:互联网
导读:PHP高级的图像验证码
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 image.php<?php // Font directory + font name $font = 'fonts/Disney.ttf'; // Total number of lines $lineCount = 40; // Size of the font $fontSize = 40; // Height of the image $height = 50; // Width of the image $width = 150; $img_handle = imagecreate ($width,$height) or die ("Cannot Create image"); // Set the Background Color RGB $backColor = imagecolorallocate($img_handle,255,255); // Set the Line Color RGB $lineColor = imagecolorallocate($img_handle,175,238,238); // Set the Text Color RGB $txtColor = imagecolorallocate($img_handle,135,206,235); // Do not edit below this point $string = "abcdefghijklmnopqrstuvwxyz0123456789"; $str = ""; for($i=0;$i<6;$i++){ $pos = rand(0,36); $str .= $string{$pos}; } $textbox = imagettfbbox($fontSize,$font,$str) or die('Error in imagettfbbox function'); $x = ($width - $textbox[4])/2; $y = ($height - $textbox[5])/2; imagettftext($img_handle,$fontSize,$x,$y,$txtColor,$str) or die('Error in imagettftext function'); for($i=0;$i<$lineCount;$i++){ $x1 = rand(0,$width);$x2 = rand(0,$width); $y1 = rand(0,$width);$y2 = rand(0,$width); imageline($img_handle,$x1,$y1,$x2,$y2,$lineColor); } header('Content-Type: image/jpeg'); imagejpeg($img_handle,NULL,100); imagedestroy($img_handle); session_start(); $_SESSION['img_number'] = $str; ?>form.php <form action="result.php" method="post"> <img alt="Random Number" src="image.php"> <input type="text" name="num"><br> <input type="submit" name="submit" value="Check"> </form> result.php <?php session_start(); if($_SESSION['img_number'] != $_POST['num']){ echo'The number you entered doesn't match the image.<br> <a href="form.php">Try Again</a><br>'; }else{ echo'The numbers Match!<br> <a href="form.php">Try Again</a><br>'; } ?> [url=http://wwww.com/examples/CAPTCHA/form2.php]Example[/url] 以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |