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;
이상 은 본문의 전체 내용 이 므 로 여러분 의 학습 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.