文档章节

PHP运用GD库实现一个简单的验证码

雨醉风尘
 雨醉风尘
发布于 2015/08/18 16:29
字数 183
阅读 316
收藏 3
<?php
$img=imagecreatetruecolor(100, 40);
$red=imagecolorallocate($img, 255, 0, 0);
$green=imagecolorallocate($img, 0, 255, 0);
$blue=imagecolorallocate($img, 0, 0, 255);
$white=imagecolorallocate($img, 255, 255, 255);
$black=imagecolorallocate($img, 0, 0, 0);
//生成图片
imagefill($img, 0, 0, $black);
//设置验证码
$code="";
for($i=0;$i<5;$i++){
$code.=rand(0,9);
}
//验证码写到图片中
imagestring($img, 5, 20, 15, $code, $white);
//加点儿干扰
for($i=0;$i<10;$i++){
imagesetpixel($img, rand(0,100), rand(0,40), $red);
imagesetpixel($img, rand(0,100), rand(0,40), $green);
imagesetpixel($img, rand(0,100), rand(0,40), $blue);
}
//再加点儿干扰
for($i=0;$i<1;$i++){
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $red);
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $green);
imageline($img, rand(0,50), rand(0,20), rand(50,100), rand(20,40), $blue);
}
header("Content-type:image/png");
imagepng($img);
imagedestroy($img);
?>


© 著作权归作者所有

雨醉风尘
粉丝 3
博文 106
码字总数 23692
作品 0
海淀
程序员
私信 提问
【代码实现】PHP生成各种随机验证码

文章来源:PHP开发学习门户 (自行开发的个人网站) 验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见...

PHP开发学习门户
2014/10/07
0
0
PHP制作数字、字母型验证码及其工作原理剖析

准备: 使用PHP生成验证码图片,需要PHP的GD模块,GD扩展库用于处理图像。所以先去检查你的服务器使用的PHP版本是否开启GD模块,你可以使用PHP内置函数phpinfo()去检查,至于如何去做就不在这...

小飞侠_Kobe
2016/09/29
82
0
php生成图形验证码的几种方法

生成图形验证码需要使用php GD库来生成,如果你没开户GD库我们需要在php.ini文件找到extension=php_gd2.dll 去掉前面的;就行了,然后重启apache 或iis环境即可 我们先来检查一下自己的php是不...

mysoftsky
2013/08/17
0
0
解决Ubuntu下PHP验证码不显示问题

这两天在帮别人写一个注册登录功能的页面,用到了简单的TP框架,但是在我自己的Ubuntu环境下发现验证码出了问题——验证码图片显示不出来。 我将图片单独拉出来,发现错误提示如下: 百度一问...

SkyHive
2017/08/04
0
0
Minho/php-captcha

php-captcha 简单的php验证码库。 PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有: 1、产生一张p...

Minho
2017/01/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出0。

import java.util.Arrays; public class Solution { public int MoreThanHalfNum_Solution(int [] array) { Arrays.sort(array); int count=0; for(int i=0;i<array.le......

南桥北木
13分钟前
0
0
关于FLAG_ACTIVITY_NEW_TASK的使用

参考文章: https://blog.csdn.net/u010389391/article/details/78558475 Context调用startActivity, 有部分情况会报出如下错误: Caused by: android.util.AndroidRuntimeException: Calli......

Gemini-Lin
28分钟前
0
0
Python开发工具:Webware for Python

原文来之:https://www.oschina.net/p/webware+for+python 前言 Webware for Python 是一组 Python 包和工具用来开发面向对象的 Web 应用。良好的设计模式,包含一个快速的应用服务器、Servl...

A_裙232550246
37分钟前
0
0
高并发场景下的缓存有哪些常见的问题?

一、缓存一致性问题 当数据时效性要求很高时,需要保证缓存中的数据与数据库中的保持一致,而且需要保证缓存节点和副本中的数据也保持一致,不能出现差异现象。 这就比较依赖缓存的过期和更新...

别打我会飞
52分钟前
3
0
List list = new ArrayList()为何父类引用指向子类对象(多态)

态:要有继承,方法的重写,父类引用指向子类对象 疑问一:父类引用指向子类对象 与指向父类对象 Animal cat = new Cat(); //向上转型。 父类引用指向子类对象,该引用不能再访问子类新增加的...

architect刘源源
52分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部