掌握php短信接口代码
阅读 17674 · 发布日期 2020-08-24 11:44 · 温州优光网络科技有限公司|建站|APP小程序制作|做网站SEO推广优化
【摘要】
本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内容如下相关学习推荐:php编程(视频)1. 短信调用class 【温州小程序开发,温州微信公众号,平阳做网站,平阳网站建设公司,平阳小程序商城制作,昆阳万全做网站,鳌江水头小程序,萧江腾蛟微信公众号,山门顺溪南雁海西南麂凤卧麻步怀溪网络网店服务,政采云网店管理服务】...
本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内容如下相关学习推荐:
php编程(视频)1. 短信调用class //Luosimao api key private $_api_key = '
'
;
private $_last_error = array();
private $_use_ssl = FALSE;
private $_ssl_api_url = array( '
send'
=> '
https://www.jb51.net/v1/send.json'
, '
send_batch'
=> '
https://www.jb51.net/v1/send_batch.json'
, '
status'
=> '
https://www.jb51.net/v1/status.json'
, );
private $_api_url = array( '
send'
=> '
https://www.jb51.net/v1/send.json'
, '
send_batch'
=> '
https://www.jb51.net/send_batch.json'
, '
status'
=> '
https://www.jb51.net/v1/status.json'
, );
/** * @param array $param 配置参数 * api_key api秘钥,在luosimao短信后台短信->触发发送下面可查看 * use_ssl 启用HTTPS地址,HTTPS有一定性能损耗,可选,默认不启用 */ public function __construct( $param = array() ){
if( !isset( $param['
api_key'
] ) ){
die("api key error.");
}
if( isset( $param['
api_key'
] ) ){
$this->_api_key = $param['
api_key'
];
}
if( isset( $param['
use_ssl'
] ) ){
$this->_use_ssl = $param['
use_ssl'
];
}
}
//触发,单发,适用于验证码,订单触发提醒类 public function send( $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 );
}
//批量发送,用于大批量发送 public function send_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 );
}
//获取短信账号余额 public function get_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 );
}
/** * @param string $type 接收类型,用于在服务器端接收上行和发送状态,接收地址需要在luosimao后台设置 * @param array $param 传入的参数,从推送的url中获取,官方文档:
https://luosimao.com/docs/api/ */ public function recv( $type = '
status'
, $param = array() ){
if( $type == '
status'
){
if( $param['
batch_id'
] && $param['
mobile'
] && $param['
status'
] ){
//状态 // do record }
}
elseif( $type == '
incoming'
){
//上行回复 if( $param['
mobile'
] && $param['
message'
] ){
// do record }
}
}
/** * @param string $api_url 接口地址 * @param array $param post参数 * @param int $timeout 超时时间 * @return bool */ private function http_post( $api_url = '
'
, $param = array() , $timeout = 5 ){
if( !$api_url ){
die("error api_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;
return FALSE;
}
return $res;
}
/** * @param string $api_url 接口地址 * @param string $timeout 超时时间 * @return bool */ private function http_get( $api_url = '
'
, $timeout = '
'
){
if( !$api_url ){
die("error api_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 );
return FALSE;
}
return $res;
}
public function last_error(){
return $this->_last_error;
}
}
2.短信发送示例 //send 单发接口 require '
sms.php'
;
$sms = new Sms( 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 = new Sms( 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 = new Sms( 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;
相关学习推荐:
编程视频以上就是掌握php短信接口代码的详细内容,更多请关注php中文网其它相关文章!
微信
分享相关标签:
php 短信接口本文转载于:
jb51,如有侵犯,请联系a@php.cn删除
上一篇:
阿里云PHP SMS短信服务验证码发送方法详解
下一篇:
实例详解PHP中 $_POST的$_GET的用法和区别相关文章相关视频短信接口如何实现调用 php短信接口案例分享253短信接口PHP直接调用【PHP】短信接口(正则匹配)掌握php短信接口代码通过PHP程序添加数据通过PHP程序删除数据php程序中实现事务PHP重载-属性拦截器 [温州做网站PHP教程]