问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

短信接口怎么更换,PHP代码怎么写?

发布网友 发布时间:2022-04-28 05:44

我来回答

3个回答

懂视网 时间:2022-04-28 10:05

本文实例为大家分享了几个常用的php短信接口代码,供大家参考,具体内容如下

相关学习推荐:php编程(视频)

1. 短信调用class

<?php
/**
 * User: Administrator
 * Date: 2016/5/8 0008
 * Time: 下午 2:36
 */
class Sms{
 
 
 //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;

相关学习推荐:编程视频

热心网友 时间:2022-04-28 07:13

你现在用的是哪家? 可以对应找不同的商家,都会提供对接文档和demo的,实际操作很简单。追问更换要收费的,有没有免费的

追答貌似没有免费的吧,我没有用过免费的,这个对接最好还是用口碑好的,不然短信延迟或者其他问题都没有客服解决。

热心网友 时间:2022-04-28 08:31

看你用哪家的。。都有DEMO 的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
地球内部能量来源于什么 地球内部的热量究竟是从何而来?地球存在了这么久为什么地热一直没散 ... 失当造句 举措失当造句用举措失当造句 眼睛提示你的9种疾病 中年人眼睛突然模糊 我妈妈说她最近视力不如从前了 《少年派的奇幻漂流》结局 《少年派的奇幻漂流》三个故事和三个故事的解读? - 知乎 今天,我后面的女生拿了我的修正带然后在我的修正带刻上我的名字,这是... python代码怎么注释掉看 Python代码注释应该怎么写 python代码 每一行给出注释 并解释用法 win764位旗舰版2G的内存够用吗? windows7旗舰版2G内存玩游戏够不够用? 2G内存运行win7够不够? win7 做开发 2G 的内存够用吗 2G的内存能流畅运行WIN7吗? win7 64位旗舰系统笔记本,2G内存够吗? win7 32位 系统、2g内存够用吗? win7的笔记本2G的内存够不够啊? win7 32位 2g内存够不够??玩大型游戏呢 win7 32位旗舰版 2G内存够用吗 我主要玩游戏 win764位系统2g内存够用吗 win7系统32位,用2G内存够不够? win7 64位 2g内存够吗 win7 32位 2g内存够吗 求解win7旗舰版 2g内存够用吗 win7系统2g内存够吗 windows10网络连接没有wlan php短信接口如何实现群发... 谁能给个示例的代码啊。。 PHP短信接口代码详解,修改成能发的 怎么做的?PHP常用短信接口 php短信接口是什么? php ci框架怎么对接短信接口 我有移动提供的短信接口,请问怎么用php调用这些接口发送短信呢? php短信接口怎么使用 可以直接调用开源代码PhpSMSAdmin里面发短信的接口吗? PHP怎么连接数据库短信接口 好做么?PHP短信接口开发 Php调用手机发短信功能 阿里云oss php上传图片问题 上传前把图片重命名之后再上传到oss 怎么写代码呢 PHP如何使用阿里云oss 求助阿里云服务器上传图片代码php版本 文件上传问题。PHP些的云存储服务器,调用平台接口上传文件(例如阿里云等)。 怎么上传图片到阿里云? 上传图片到阿里云的OSS上,可以吗 阿里云oss 上传及访问问题 oss阿里云怎么设置自动上传文件 discuz怎么设置阿里云oss远程附件