<?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');
}
}
图片验证码
最新推荐文章于 2022-08-13 14:42:17 发布
这是一个PHP控制器类,包含获取验证码、验证图片验证码和显示图片验证码的方法。代码使用ThinkPHP框架,通过`verifyCode`方法生成验证码并设置session_id,`checkVerifyCode`方法验证用户输入的验证码,`vcode`方法生成并显示验证码图片。此外,还有`h5test`方法用于测试H5与APP交互。
摘要由CSDN通过智能技术生成