PHP仿12306图片验证码【原创

来源:https://www.sucaihuo.com/php/3579.html 2018-03-27 08:58浏览(2975) 收藏

在12306购票的时候验证码是一件特别令人烦恼的事情,现在分享一个可以识别图片验证码的功能,PHP仿12306官网图片验证码功能
PHP仿12306图片验证码
分类:PHP > 验证 难易:中级
下载资源 下载积分: 260 积分

生成验证码的demo使用模型model读取图库,有需要对接框架的朋友可以自己修改,如下:

<?php
# 引入测试的数据库model
require_once dirname(__FILE__).'/Model.php';
# 引入验证码核心类库
require_once dirname(dirname(__FILE__)).'/vendor/Vif.php';

$model = new Model('vif_type');
# 1、先获得随机出来的分类
$find  = $model->order('rand()')->find();
# 2、根据随机分类,获得指定数量的图片,你想几张都可以,越多越安全
$num   = 4;
$model = new Model('vif_img');
$yes_list  = $model->field('vi_id, vi_url')->where('vt_id = '.$find['vt_id'])->order('rand()')->limit($num)->select();
# 3、再随机,获得4张除了指定分类外的其他图片
$no_list  = $model->field('vi_id, vi_url')->where('vt_id != '.$find['vt_id'])->order('rand()')->limit($num)->select();

$obj = new Vif();
# 4、调用验证码类库:将两组图片随机打乱合并成一组新数据
$img_list = $obj->MergeImg($yes_list, $no_list, $find['vt_title']);

echo $img_list;

判断图片验证码是否正确:

<?php
# 引入验证码核心类库
require_once dirname(dirname(__FILE__)).'/vendor/Vif.php';
$vif = $_POST['id'];

$obj = new Vif();
# 4、调用验证码类库:将两组图片随机打乱合并成一组新数据
$img_list = $obj->VifResult($vif);

echo $img_list;
标签: 验证码
声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/php/3579.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2