一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - php短信接口代碼

php短信接口代碼

2021-01-18 14:09取個名字想半天 PHP教程

這篇文章主要為大家詳細介紹了php短信接口代碼,php短信發送、php批量發送、php獲取余額等代碼,感興趣的小伙伴們可以參考一下

本文實例為大家分享了幾個常用的php短信接口代碼,供大家參考,具體內容如下

1. 短信調用class    

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
<?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'    => 'http://m.ythuaji.com.cn/v1/send.json',
    'send_batch' => 'http://m.ythuaji.com.cn/v1/send_batch.json',
    'status'   => 'http://m.ythuaji.com.cn/v1/status.json',
  );
 
  private $_api_url = array(
    'send'    => 'http://m.ythuaji.com.cn/v1/send.json',
    'send_batch' => 'http://m.ythuaji.com.cn/send_batch.json',
    'status'   => 'http://m.ythuaji.com.cn/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.短信發送示例    

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//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.批量發送示例    

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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.獲取余額示例    

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//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;

以上就是本文的全部內容,希望對大家的學習有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品视频手机在线观看免费 | 亚洲国产精品第一区二区三区 | 欧美日韩国产成人综合在线 | 色香婷婷 | 亚洲国产综合久久精品 | 色婷婷综合缴情综六月 | 四虎精品视频在线永久免费观看 | 国产自精品 | 日韩欧美推理片免费看完整版 | 久久久高清国产999尤物 | 日本zzzzwww大片免费 | 免费观看视频高清在线 | 久久伊人中文字幕有码 | 五月激激激综合网色播免费 | 亚洲区精品久久一区二区三区 | 日韩精品视频在线播放 | 我把校花黑色蕾丝胸罩脱了 | 18videossex性欧美69 | 亚洲欧美自偷自拍另类小说 | 美女被爆操 | 男人猛戳女人下部30分钟 | chinese男性厕所撒尿合集 | 1024免费观看完整版在线播放 | 久久re视频精品538在线 | 亚洲 色 欧美 爱 视频 日韩 | 国产福利不卡 | 亚洲午夜天堂 | 成人四虎 | 麻豆视频入口 | 门房秦大爷最新章节阅读 | 十八女下面流水不遮免费 | 四虎影院在线免费观看 | 亚洲成人91 | 草草视频免费观看 | 91视频破解版 | 欧美精品1区2区 | 色婷婷精品 | 翁公与小莹在客厅激情 | oneday高清在线观看 | 精品国产精品人妻久久无码五月天 | 欧美se图|