| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

PHP高级的图像验证码

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, 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, 0, $font, $str) or die('Error in imagettfbbox function');  $x = ($width - $textbox[4])/2;  $y = ($height - $textbox[5])/2;  imagettftext($img_handle, $fontSize, 0, $x, $y, $txtColor, $font , $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]


</div>