PHP仿12306图片验证码【原创

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

在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
评论31
头像

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

  • 头像 30楼
    06-18 10:37
    起***了
    不错,太骚气了,秀儿
  • 头像 29楼
    10-14 19:21
    云***轻
    还第一次见这种的 牛
  • 头像 28楼
    07-24 10:21
    c***2
    骚气,这种验证码太骚气了
  • 头像 27楼
    07-06 00:22
    s***e
    啊还是觉得这个很好不错
  • 头像 26楼
    06-19 09:25
    三***剑
    这个验证码很牛逼啊,赞一个
  • 头像 25楼
    06-15 09:26
    漂***木
    php也可以做这么牛的东西啊,这个太牛了!把PHP代码的水平发挥得很好
  • 头像 24楼
    06-10 16:46
    y***n
    这个厉害了,可以帮到很多人!感谢你!
  • 头像 23楼
    05-06 01:32
    淡***水
    这个太牛了!把PHP代码的水平发挥得很好
  • 头像 22楼
    05-05 09:14
    ❀***ㄣ
    厉害,终于找到了想要的
  • 头像 21楼
    05-03 14:34
    传***说
    php也可以做这么牛的东西啊
1 2