对接接口-聚合短信接口对接

本文分享了一个使用PHP实现的聚合短信API示例代码,包括发送短信验证码的功能及数据库操作,适用于快速集成短信服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说到短信,我们现在在哪个平台上都会收到这样或者那样的短信,今天就把经常用的聚合短信代码贴一下,方便以后开发及时找到:


function juhecurl($url,$params=false,$ispost=0){
    $httpInfo = array();
    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_HTTP_VERSION , CURL_HTTP_VERSION_1_1 );
    curl_setopt( $ch, CURLOPT_USERAGENT , 'Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22' );
    curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );
    curl_setopt( $ch, CURLOPT_TIMEOUT , 30);
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );
    if( $ispost )
    {
        curl_setopt( $ch , CURLOPT_POST , true );
        curl_setopt( $ch , CURLOPT_POSTFIELDS , $params );
        curl_setopt( $ch , CURLOPT_URL , $url );
    }
    else
    {
        if($params){
            curl_setopt( $ch , CURLOPT_URL , $url.'?'.$params );
        }else{
            curl_setopt( $ch , CURLOPT_URL , $url);
        }
    }
    $response = curl_exec( $ch );
    if ($response === FALSE) {
        //echo "cURL Error: " . curl_error($ch);
        return false;
    }
    $httpCode = curl_getinfo( $ch , CURLINFO_HTTP_CODE );
    $httpInfo = array_merge( $httpInfo , curl_getinfo( $ch ) );
    curl_close( $ch );
    return $response;
}


//    /**
//     * 发送短信
//     * @param $mobile  手机号码
//     * @param $code    验证码
//     * @return bool    短信发送成功返回true失败返回false
//     */

function sendSMS($mobile, $code)
{

    $sendUrl = 'http://v.juhe.cn/sms/send'; //短信接口的URL
    $config = F('sms', '', TEMP_PATH);
    //短信内容:公司名/名牌名/产品名
    $smsConf = array(
        'key' => $config['sms_appkey'], //您申请的APPKEY
        'mobile' => $mobile, //接受短信的用户手机号码
        'tpl_id' => $config['sms_templateCode'], //您申请的短信模板ID,根据实际情况修改
        'tpl_value' => '#code#=' . $code //您设置的模板变量,根据实际情况修改
    );

    $content = juhecurl($sendUrl, $smsConf, 1); //请求发送短信
    if ($content) {
        $result = json_decode($content, true);
        //如果发送短信验证码失败可在此处打印截止$result参数,一般发送验证码失败原因为聚合上未配置IP白名单造成的.
        $error_code = $result['error_code'];
        if ($error_code == 0) {
            //状态为0,说明短信发送成功
            // 从数据库中查询是否有验证码
            $data = M('验证码记录表')->where("code = '$code' and add_time > " . (time() - 60 * 60))->find();
            // 没有就插入验证码,供验证用
            empty($data) && M('验证码记录表')->add(array('mobile' => $mobile, 'code' => $code, 'add_time' => time(), 'session_id' => SESSION_ID));
            return true;
        } else {
            //状态非0,说明失败
            $msg = $result['reason'];
            return false;
        }
    } else {
        //返回内容异常,以下可根据业务逻辑自行修改
        return false;
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值