跟着百度学PHP[16]-验证码的学习
一个验证码需要有以下步骤:
- 验证底图
- 验证码内容
- 生成验证码
- 对比校验
验证码需要依靠PHP的GD扩展库。一些集成环境是默认安装了GD拓展库。
<?php
//创建一个100*30px图片,默认黑色
$image = imagecreatetruecolor(100, 30);
//给$image背景图片分配颜色,后三个参数是颜色的RGB.255,255,255白色
$bgcolor = imagecolorallocate($image,255,255,255);
//填充$image颜色为$bgcolor,中间两个为坐标。
imagefill($image, 0, 0, $bgcolor);
for($i=0;$i<4;$i++){
$fontsize = 6;
$fontcolor = imagecolorallocate($image,0,0,0);
$fontcontent = rand(0,9);
//x,y即为坐标。
$x = ($i*100/4) + rand(5,10);
$y = rand(5,10);
imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);
} header("content-type:image/png");
//输出图片的时候一定要使用header告诉PHP其格式。
imagepng($image);
imagedestroy($image);
?>
跟着百度学PHP[16]-验证码的学习的更多相关文章
- 跟着百度学PHP[14]-PDO之Mysql的事务处理2
前面所将仅仅是在纯mysql下的讲解,这节就是要将其搬到PDO台面上来了. 将自动提交关闭. SetAttribute下有一个PDO::ATTR_AUTOCOMMIT 将其设置为0即可关闭,如:$pd ...
- 跟着百度学PHP[8]-setcookie的其他参数学习
setcookie(name,value,time,path,domain,secure) 第四个参数是cookie的有效路径.顾名思义就是在那个路径下是有效的.当然了其子目录下也是有效的.比如 /h ...
- 跟着百度学PHP[5]函数篇1-参数
ps:俺的文章俺懂就行.大家不要拿来学习不然每个人的学习思路不一样.看视屏文章的老师不同笔记不同加上我也是新手上路,还怕误导!请大家看行且思考,帮忙挖Bug也可以. 案例要求:你可以写一个两行三列的表 ...
- 跟着百度学PHP[4]OOP面对对象编程-13-魔术方法__set(),__get(),__isset(),__unset()
__set() 在对象访问私有成员的时候自动被调用,达到了给你看,但是不能给你修改的效果!(在对象访问一个私有的成员的时候就会自动的调用该魔术方法) __get() 方法用于获取私有属性值.(在设置私 ...
- 跟着百度学PHP[4]OOP面对对象编程-6-构造方法(__construct)和构析方法(__destruct)
函数就是成员方法(方法有三:构造方法.成员方法.析构方法) 下面是两种方法. 构造方法和构析方法 00x1 构造方法 构造方法会在创建对象之后自动调用.其名称为__construct <?php ...
- 跟着百度学PHP[4]OOP面对对象编程-5-内部引用$this
$this就是对象内部代表这个对象的引用 可以调用被封装的方法或者属性! <?php class Person{ private $name; "; var $sex; functio ...
- 跟着百度学PHP[4]OOP面对对象编程-4-对象成员的访问 ->
使用一个减号一个尖括号->来达到访问对象成员. $object->方法 来看案例. <?php class Person{ private $name; "; var $s ...
- 跟着百度学PHP[4]-OOP面对对象编程-3-实例化一个对象
当定义好类后,我们使用new关键字来实例化一个对象! 格式: $object = new 类名; <?php class Person{ private $name; "; priva ...
- 跟着百度学PHP[4]-OOP面对对象编程-2-属性和方法
简单的说 变量就是成员属性函数就是成员方法(方法有三:构造方法[即为__construct].成员方法.析构方法[__destruct]) 成员方法和成员属性都是可以加修饰词.比如封装性的方法或者属性 ...
随机推荐
- python staticmethod,classmethod方法的使用和区别以及property装饰器的作用
class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data) @st ...
- scikit-learn(window,linux)安装
scikit-learn是python的机器学习库 记录下载window中和linux中如何下载scikit-learn 方法一 直接下载Anaconda 这是一个非常齐全的python发行版本,里面 ...
- js 获取两位小数的方法
1. 最笨的办法 function get() { var s = 22.127456 + ""; var str = s.substring(0,s.indexOf(" ...
- MapReduce报错:Error: java.io.IOException: Initialization of all the collectors failed. Error in last collector was :interface javax.xml.soap.Text
这个问题折腾了我一天了,最主要的是真的不懂在哪里看log,所以虽然折腾地很没有道理但还是一直在折腾. 这个问题很好解决,在main函数处错误import了 javax.xml.soap.Text,应该 ...
- Hadoop 伪分布式上安装 Hive
下载地址:点此链接(P.S.下载带bin的安装包) 下载hive后放到虚拟机文件夹内,打开: -bin.tar.gz -C /home/software/ 修改并保存环境配置: gedit /etc/ ...
- 异常解决:util.NativeCodeLoader: Unable to load native-hadoop library for your platform
内容源自:点此链接 刚装好hadoop的时候,每次输入命令运行都会出现: WARN util.NativeCodeLoader: Unable to load native-hadoop librar ...
- Java读写二进制文件示例
相对于文本文件,二进制文件读写快,定位快而准,下面是代码示例: import java.io.DataInput; import java.io.DataOutput; import java.io. ...
- mysql创建用户、授权,revoke
use mysql;set password for root =password('haowumz');select host,user,password from user ;show gran ...
- SVN 常见命令
一.什么是SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS. 二.SVN的下载安装 下载地址:http ...
- cookie、localStorage和sessionStorage区别
三者区别见下表: 说明: cookie的处理过程为: 服务器向客户端发送cookie 浏览器将cookie保存 之后每次http请求浏览器都会将cookie发送给服务器端 对于 cookie,我们还需 ...