php短信接口代码
本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内容如下
1.短信调用class
<?php
/**
*User:Administrator
*Date:2016/5/80008
*Time:下午2:36
*/
classSms{
//Luosimaoapikey
private$_api_key='';
private$_last_error=array();
private$_use_ssl=FALSE;
private$_ssl_api_url=array(
'send'=>'https://www.nhooo.com/v1/send.json',
'send_batch'=>'https://www.nhooo.com/v1/send_batch.json',
'status'=>'https://www.nhooo.com/v1/status.json',
);
private$_api_url=array(
'send'=>'https://www.nhooo.com/v1/send.json',
'send_batch'=>'https://www.nhooo.com/send_batch.json',
'status'=>'https://www.nhooo.com/v1/status.json',
);
/**
*@paramarray$param配置参数
*api_keyapi秘钥,在luosimao短信后台短信->触发发送下面可查看
*use_ssl启用HTTPS地址,HTTPS有一定性能损耗,可选,默认不启用
*/
publicfunction__construct($param=array()){
if(!isset($param['api_key'])){
die("apikeyerror.");
}
if(isset($param['api_key'])){
$this->_api_key=$param['api_key'];
}
if(isset($param['use_ssl'])){
$this->_use_ssl=$param['use_ssl'];
}
}
//触发,单发,适用于验证码,订单触发提醒类
publicfunctionsend($mobile,$message=''){
$api_url=!$this->_use_ssl?$this->_api_url['send']:$this->_ssl_api_url['send'];
$param=array(
'mobile'=>$mobile,
'message'=>$message,
);
$res=$this->http_post($api_url,$param);
return@json_decode($res,TRUE);
}
//批量发送,用于大批量发送
publicfunctionsend_batch($mobile_list=array(),$message=array(),$time=''){
$api_url=!$this->_use_ssl?$this->_api_url['send_batch']:$this->_ssl_api_url['send_batch'];
$mobile_list=is_array($mobile_list)?implode(',',$mobile_list):$mobile_list;
$param=array(
'mobile_list'=>$mobile_list,
'message'=>$message,
'time'=>$time,
);
$res=$this->http_post($api_url,$param);
return@json_decode($res,TRUE);
}
//获取短信账号余额
publicfunctionget_deposit(){
$api_url=!$this->_use_ssl?$this->_api_url['status']:$this->_ssl_api_url['status'];
$res=$this->http_get($api_url);
return@json_decode($res,TRUE);
}
/**
*@paramstring$type接收类型,用于在服务器端接收上行和发送状态,接收地址需要在luosimao后台设置
*@paramarray$param传入的参数,从推送的url中获取,官方文档:https://luosimao.com/docs/api/
*/
publicfunctionrecv($type='status',$param=array()){
if($type=='status'){
if($param['batch_id']&&$param['mobile']&&$param['status']){//状态
//dorecord
}
}elseif($type=='incoming'){//上行回复
if($param['mobile']&&$param['message']){
//dorecord
}
}
}
/**
*@paramstring$api_url接口地址
*@paramarray$parampost参数
*@paramint$timeout超时时间
*@returnbool
*/
privatefunctionhttp_post($api_url='',$param=array(),$timeout=5){
if(!$api_url){
die("errorapi_url");
}
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$api_url);
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_HEADER,FALSE);
if(parse_url($api_url)['scheme']=='https'){
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
}
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($ch,CURLOPT_USERPWD,'api:key-'.$this->_api_key);
curl_setopt($ch,CURLOPT_POST,TRUE);
curl_setopt($ch,CURLOPT_POSTFIELDS,$param);
$res=curl_exec($ch);
$error=curl_error($ch);
curl_close($ch);
if($error){
$this->_last_error[]=$error;
returnFALSE;
}
return$res;
}
/**
*@paramstring$api_url接口地址
*@paramstring$timeout超时时间
*@returnbool
*/
privatefunctionhttp_get($api_url='',$timeout=''){
if(!$api_url){
die("errorapi_url");
}
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$api_url);
curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($ch,CURLOPT_HEADER,FALSE);
if(parse_url($api_url)['scheme']=='https'){
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
}
curl_setopt($ch,CURLOPT_HTTPAUTH,CURLAUTH_BASIC);
curl_setopt($ch,CURLOPT_USERPWD,'api:key-'.$this->_api_key);
$res=curl_exec($ch);
$error=curl_error($ch);
curl_close($ch);
if($error){
$this->_last_error[]=curl_error($ch);
returnFALSE;
}
return$res;
}
publicfunctionlast_error(){
return$this->_last_error;
}
}
2.短信发送示例
//send单发接口
require'sms.php';
$sms=newSms(array('api_key'=>'86f52f3ce0647dc24da53eafe29fadd4','use_ssl'=>FALSE));
$res=$sms->send_batch(array('13761428268'),'验证码:19272【毛票票】');
if($res){
if(isset($res['error'])&&$res['error']==0){
echo'success';
}else{
echo'failed,code:'.$res['error'].',msg:'.$res['msg'];
}
}else{
var_dump($sms->last_error());
}
exit;
3.批量发送示例
require'sms.php';
$sms=newSms(array('api_key'=>'86f52f3ce0647dc24da53eafe29fadd4','use_ssl'=>FALSE));
//send单发接口
$res=$sms->send_batch(array('13761428268'),'验证码:19272【毛票票】');
if($res){
if(isset($res['error'])&&$res['error']==0){
echo'success';
}else{
echo'failed,code:'.$res['error'].',msg:'.$res['msg'];
}
}else{
var_dump($sms->last_error());
}
exit;
4.获取余额示例
//deposit余额查询
require'sms.php';
$sms=newSms(array('api_key'=>'86f52f3ce0647dc24da53eafe29fadd4','use_ssl'=>FALSE));
$res=$sms->get_deposit();
if($res){
if(isset($res['error'])&&$res['error']==0){
echo'desposit:'.$res['deposit'];
}else{
echo'failed,code:'.$res['error'].',msg:'.$res['msg'];
}
}else{
var_dump($sms->last_error());
}
exit;
以上就是本文的全部内容,希望对大家的学习有所帮助。
热门推荐
10 五一公司放假祝福语简短
11 追星女孩的祝福语简短
12 给长辈端午祝福语 简短
13 生日祝福语有诗意简短
14 团圆日祝福语简短
15 中秋商务祝福语简短最新
16 温暖文艺简短祝福语短句
17 男孩上学祝福语简短的
18 入住酒店文案祝福语简短