[php]php验证码类实例源代码
首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了
首先验证码的原理就是,画一张图片,然后在这张图片上写一些字,然后加一些干扰的线条,像素点之类的东西就ok了,这里要使用php那就要知道php中画图的函数是那些,然后拿来用便是了。
如果要用php的画图函数,首先要启用这个模块的功能。就是把php.ini中php_gd2.dll前面的注释去掉就好了。
下面开始画图:
- session_start();
- //生成验证码图片
- Header("Content-type: image/PNG");
- $im = imagecreate(44,18); // 画一张指定宽高的图片
- $back = ImageColorAllocate($im, 245,245,245); // 定义背景颜色
- imagefill($im,0,0,$back); //把背景颜色填充到刚刚画出来的图片中
- $vcodes = "";
- srand((double)microtime()*1000000);
- //生成4位数字
- for($i=0;$i<4;$i++){
- $font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255)); // 生成随机颜色
- $authnum=rand(1,9);
- $vcodes.=$authnum;
- imagestring($im, 5, 2+$i*10, 1, $authnum, $font);
- }
- $_SESSION['VCODE'] = $vcodes;
- for($i=0;$i<100;$i++) //加入干扰象素
- {
- $randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));
- imagesetpixel($im, rand()%70 , rand()%30 , $randcolor); // 画像素点函数
- }
- ImagePNG($im);
- ImageDestroy($im);
- ?>
基本就是这样实现了,其实如果给图片打水印也无非就是往图片里面写字,原理都差不多的。
使用的地方直接
<img src="xxx.php" /> 填写这个php文件的名字,就可以使用了。
热门文章推荐
- [php]优酷真实视频地址解析算法
- [Dz]discuz手机版支持视频播放的方法
- [PHP]php加密js解密的方法实例
- [php]用PHP打印出前一天的时间格式
- [PHP]mpeg,mp3,avi的ffmpeg的php转换类
- [php]php中3DES加密一个非常有用的3des加密
- [PHP]php.ini修改上传文件的大小限制处理方法
- [php]用过的最好用的php分页类源代码
请稍候...