短信宝 php使用,[php] 使用 短信宝 发送短信(thinkphp)
/*** SmsBao實(shí)現(xiàn)類* @category Think* @package Think* @subpackage Sms*/classSmsBao {
private$account;//短信包賬戶private$password;//密碼private$balance;//短信剩余條數(shù)constsendSmsUrl ="http://api.smsbao.com/sms";
constqueryBalanceUrl ="http://api.smsbao.com/query";
/***架構(gòu)函數(shù)* @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;
}
/***發(fā)送短信函數(shù)* @access public* @param string $mobile手機(jī)號,多個(gè)手機(jī)號用英文逗號分隔* @param string $content發(fā)送內(nèi)容* @return array返回值為數(shù)組,其中status為0表明發(fā)送成功,其他情況下發(fā)送失敗,失敗原因?yàn)閙sg*/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?'發(fā)送成功': self::getResult($ret);
return$data;
}
/***獲取短信剩余條數(shù)函數(shù)* @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;
}
/***發(fā)送http請求* @access protected* @param string $url請求地址* @param string $param get方式請求內(nèi)容,數(shù)組形式,post方式時(shí)無效* * @param string $data post請求方式時(shí)的內(nèi)容,get方式時(shí)無效* @param string $method請求方式,默認(rèn)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,
);
/*根據(jù)請求類型設(shè)置特定參數(shù)*/$opts[CURLOPT_URL] =$url.'?'.http_build_query($param);
if(strtoupper($method) =='POST'){
$opts[CURLOPT_POST] =1;
$opts[CURLOPT_POSTFIELDS] =$data;
if(is_string($data)){ //發(fā)送JSON數(shù)據(jù)$opts[CURLOPT_HTTPHEADER] = array(
'Content-Type: application/json; charset=utf-8',
'Content-Length: '.strlen($data),
);
}
}
/*初始化并執(zhí)行curl請求*/$ch =curl_init();
curl_setopt_array($ch, $opts);
$data=curl_exec($ch);
$error =curl_error($ch);
curl_close($ch);
//發(fā)生錯(cuò)誤,拋出異常if($error) throw new\Exception('請求發(fā)生錯(cuò)誤:'.$error);
return$data;
}
private functiongetResult($key){
$rst['30'] ='密碼錯(cuò)誤';
$rst['40'] ='賬號不存在';
$rst['41'] ='余額不足';
$rst['42'] ='帳號過期';
$rst['43'] ='IP地址限制';
$rst['50'] ='內(nèi)容含有敏感詞';
$rst['51'] ='手機(jī)號碼不正確';
return$rst[$key];
}
}
總結(jié)
以上是生活随笔為你收集整理的短信宝 php使用,[php] 使用 短信宝 发送短信(thinkphp)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos7安装yum_centos7
- 下一篇: 动态规划算法php,php算法学习之动态