·您当前的位置:首页 > 技术教程 > PHP教程 >

[php]php验证码类实例源代码

时间:2014-09-01 13:52酷播
首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了

  首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了。

  如果要用php的画图函数,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。

  下面开始画图:

  1. session_start(); 
  2.     //生成验证码图片 
  3.     Header("Content-type: image/PNG"); 
  4.     $im = imagecreate(44,18); // 画一张指定宽高的图片 
  5.     $back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色 
  6.     imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中 
  7.     $vcodes = ""
  8.     srand((double)microtime()*1000000); 
  9.     //生成4位数字 
  10.     for($i=0;$i<4;$i++){ 
  11.     $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色 
  12.     $authnum=rand(1,9); 
  13.     $vcodes.=$authnum; 
  14.     imagestring($im, 5, 2+$i*10, 1, $authnum, $font); 
  15.     } 
  16.     $_SESSION['VCODE'] = $vcodes; 
  17.  
  18.     for($i=0;$i<100;$i++) //加入干扰象素 
  19.     { 
  20.     $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255)); 
  21.     imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数 
  22.     } 
  23.     ImagePNG($im); 
  24.     ImageDestroy($im); 
  25. ?> 

  基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。 

  使用的地方直接

  <img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器