图片验证码
Posted 大郎,起来喝药了
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图片验证码相关的知识,希望对你有一定的参考价值。
<?php
namespace V3\\Controller;
use Think\\Controller;
use V3\\Param\\Param;
use V3\\Status\\Status;
use V3\\Status\\Success;
/**
* 公共接口
* Class PublicController
* @package Home\\Controller
* @date 2015-11-24
*/
class PublicController extends BaseController {
/**
* 获取验证码
*/
public function verifyCode(){
//获取session_id
$session_id = MD5(uniqid());
$param = array();
$param['vcode_url'] = C( 'API_HOST' ) . '/public/vcode?session_id='.$session_id;
$param['unique_id'] = $session_id;
//返回成功
$this->success($param);
}
/**
* 验证图片验证码
*/
public function checkVerifyCode(){
//获取 用户验证码 值
if( empty( $this->_data['image_code'] ) ) {
$this->failure( Param::VCODE_IS_NULL , Param::VCODE_IS_NULL_MSG);
}else{
$image_code = $this->_data['image_code'];
}
//获取 验证码标识 值
$unique_id = $this->_data['unique_id'];
//页面显示验证码部分
$Verify = new \\Think\\Verify();
$flag = $Verify->check($image_code, $unique_id);
if($flag === true){
$this->success( array() );
}else{
$this->failure( Status::VERIFY_CODE_FAILED , Status::VERIFY_CODE_FAILED_MSG );
}
}
/**
* 显示图片验证码
*/
public function vcode(){
//获取session_id值
$session_id = $this -> _data['session_id'];
$preg = "/^[a-zA-Z0-9-,]+$/";
if(preg_match($preg,$session_id)===false||preg_match($preg,$session_id)==0){
$this->fail();
}
//验证码配置参数
$config = array(
'codeSet' => '0123456789', // 验证码字符集合
'useNoise' => false, // 是否添加杂点
'fontSize' => 10, // 验证码字体大小(px)
'imageH' => 31, // 验证码图片高度
'imageW' => 86, // 验证码图片宽度
'length' => 5, // 验证码位数
);
//页面显示验证码部分
$Verify = new \\Think\\Verify($config);
if(empty($session_id)){
$Verify->entry( );
}else{
$Verify->entry($session_id);
}
}
/**
* 测试H5与APP交互
*/
public function h5test(){
$this -> display('/Public/H5');
}
}
以上是关于图片验证码的主要内容,如果未能解决你的问题,请参考以下文章