热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

短信宝php使用,[php]使用短信宝发送短信(thinkphp)

***SmsBao实现类*categoryThink*packageThink*subpackageSms*classSmsBao{private$account;短信包账户pri

/*** SmsBao实现类* @category Think* @package Think* @subpackage Sms*/classSmsBao {

private$account;//短信包账户private$password;//密码private$balance;//短信剩余条数constsendSmsUrl ="http://api.smsbao.com/sms";

constqueryBalanceUrl ="http://api.smsbao.com/query";

/***架构函数* @access public* @param string $account在短信宝注册的账户名* @param string $password在短信宝注册的账户名的密码*/public function__construct($account,$password) {

if(empty($account) || empty($password)) {

E("用户名和密码不可为空!");

}

$this->account =$account;

$this->password =$password;

}

/***发送短信函数* @access public* @param string $mobile手机号,多个手机号用英文逗号分隔* @param string $content发送内容* @return array返回值为数组,其中status为0表明发送成功,其他情况下发送失败,失败原因为msg*/public functionsendSms($mobile,$content){

$param['u'] =$this->account;

$param['p'] =md5($this->password);

$param['m'] =$mobile;

$param['c'] =$content;

$ret = self::http(self::sendSmsUrl, $param);

$data['status'] =$ret;

$data['msg'] =$ret ==0?'发送成功': self::getResult($ret);

return$data;

}

/***获取短信剩余条数函数* @access public*/public functiongetBalance(){

$param['u'] =$this->account;

$param['p'] =md5($this->password);

$ret = self::http(self::queryBalanceUrl, $param);

$retArr =split("\n", $ret);

$balanceArr =split(",", $retArr[1]);

$this->balance =$retArr[0] ==0?$balanceArr[1] : self::getResult($ret);

return$this->balance;

}

/***发送http请求* @access protected* @param string $url请求地址* @param string $param get方式请求内容,数组形式,post方式时无效* * @param string $data post请求方式时的内容,get方式时无效* @param string $method请求方式,默认get*/protected static functionhttp($url, $param, $data='', $method='GET'){

$opts = array(

CURLOPT_TIMEOUT => 30,

CURLOPT_RETURNTRANSFER => 1,

CURLOPT_SSL_VERIFYPEER => false,

CURLOPT_SSL_VERIFYHOST => false,

);

/*根据请求类型设置特定参数*/$opts[CURLOPT_URL] =$url.'?'.http_build_query($param);

if(strtoupper($method) =='POST'){

$opts[CURLOPT_POST] =1;

$opts[CURLOPT_POSTFIELDS] =$data;

if(is_string($data)){ //发送JSON数据$opts[CURLOPT_HTTPHEADER] = array(

'Content-Type: application/json; charset=utf-8',

'Content-Length: '.strlen($data),

);

}

}

/*初始化并执行curl请求*/$ch =curl_init();

curl_setopt_array($ch, $opts);

$data=curl_exec($ch);

$error =curl_error($ch);

curl_close($ch);

//发生错误,抛出异常if($error) throw new\Exception('请求发生错误:'.$error);

return$data;

}

private functiongetResult($key){

$rst['30'] ='密码错误';

$rst['40'] ='账号不存在';

$rst['41'] ='余额不足';

$rst['42'] ='帐号过期';

$rst['43'] ='IP地址限制';

$rst['50'] ='内容含有敏感词';

$rst['51'] ='手机号码不正确';

return$rst[$key];

}

}



推荐阅读
author-avatar
岁月无言0106
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有