创蓝短信

<?php

$response = $this->ChuanglanSms('手机号','【创蓝短信上申请的名称】您好,您的验证码123');

/**
 * 创蓝短信
 */
function ChuanglanSms($mobile,$value)
{
    //'【创蓝短信上申请的名称】您好,您的验证码'.$code
    require_once EXTEND_PATH . 'ChuanglanSmsApi/ChuanglanSmsApi.php';
    $cl = Db::name('sms_notification')->where('id','eq','1')->find();
    if($cl['status'] == 0){
        return json_encode(array('status'=>0,'message'=>'短信未开通'));
    }
    $chuanglansms  = new \ChuanglanSmsApi();
    $response = $chuanglansms->sendSMS($mobile,$value);
    return json_encode($response);
}

?>

<?php

//短信类
header("Content-type:text/html; charset=UTF-8");

use think\Db;
use think\Request;
use think\Validate;

/* *
 * 类名:ChuanglanSmsApi
 * 功能:创蓝接口请求类
 * 详细:构造创蓝短信接口请求,获取远程HTTP数据
 * 版本:1.3
 * 日期:2017-04-12
 * 说明:
 * 以下代码只是为了方便客户测试而提供的样例代码,客户可以根据自己网站的需要,按照技术文档自行编写,并非一定要使用该代码。
 * 该代码仅供学习和研究创蓝接口使用,只是提供一个参考。
 */

class ChuanglanSmsApi {

    
    //参数的配置 请登录zz.253.com 获取以下API信息 ↓↓↓↓↓↓↓
    const API_SEND_URL = 'http://smssh1.253.com/msg/send/json'; //创蓝发送短信接口URL
    
    const API_VARIABLE_URL = '';//创蓝变量短信接口URL
    
    const API_BALANCE_QUERY_URL = '';//创蓝短信余额查询接口URL
    
    const API_ACCOUNT = ''; // 创蓝API账号
    
    const API_PASSWORD = '';// 创蓝API密码

    /**
     * 发送短信
     *
     * @param string $mobile         手机号码
     * @param string $msg             短信内容
     * @param string $needstatus     是否需要状态报告
     */
    public function sendSMS( $mobile, $msg, $needstatus = 'true') {
        
        //创蓝接口参数
        $postArr = array (
            'account'  =>  self::API_ACCOUNT,
            'password' => self::API_PASSWORD,
            'msg' => urlencode($msg),
            'phone' => $mobile,
            'report' => $needstatus
        );
        $result = $this->curlPost( self::API_SEND_URL, $postArr);
        //var_dump($postArr);die();
        return $result;
    }
    
    /**
     * 发送变量短信
     *
     * @param string $msg             短信内容
     * @param string $params     最多不能超过1000个参数组
     */
    public function sendVariableSMS( $msg, $params) {
        global $chuanglan_config;
        //创蓝接口参数
        $postArr = array (
            'account'  =>  self::API_ACCOUNT,
            'password' => self::API_PASSWORD,
            'msg' => $msg,
            'params' => $params,
            'report' => 'true'
        );
        
        $result = $this->curlPost( self::API_VARIABLE_URL, $postArr);
        return $result;
    }
    
    /**
     * 查询额度
     *
     *  查询地址
     */
    public function queryBalance() {
        global $chuanglan_config;
        
        //查询参数
        $postArr = array ( 
            'account'  =>  self::API_ACCOUNT,
            'password' => self::API_PASSWORD,
        );
        $result = $this->curlPost(self::API_BALANCE_QUERY_URL, $postArr);
        return $result;
    }
    /**
     * 通过CURL发送HTTP请求
     * @param string $url  //请求URL
     * @param array $postFields //请求参数 
     * @return mixed
     *  
     */
    private function curlPost($url,$postFields){
        $postFields = json_encode($postFields);
        
        $ch = curl_init ();
        curl_setopt( $ch, CURLOPT_URL, $url ); 
        curl_setopt( $ch, CURLOPT_HTTPHEADER, array(
            'Content-Type: application/json; charset=utf-8'   //json版本需要填写  Content-Type: application/json;
            )
        );
        curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); 
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
        curl_setopt( $ch, CURLOPT_POST, 1 );
        curl_setopt( $ch, CURLOPT_POSTFIELDS, $postFields);
        curl_setopt( $ch, CURLOPT_TIMEOUT,60); 
        curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);
        curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);
        $ret = curl_exec ( $ch );
        if (false == $ret) {
            $result = curl_error(  $ch);
        } else {
            $rsp = curl_getinfo( $ch, CURLINFO_HTTP_CODE);
            if (200 != $rsp) {
                $result = "请求状态 ". $rsp . " " . curl_error($ch);
            } else {
                $result = $ret;
            }
        }
        curl_close ( $ch );
        return $result;
    }
    
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值