论坛首页 编程语言技术论坛

PHP短信验证码接口调用

浏览 3036 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2018-03-07  
PHP
基于创蓝253云通讯paas平台PHP短信接口demo



<?php
header("Content-type:text/html; charset=UTF-8");



class ChuanglanSmsApi {

        //发送短信的接口地址
        const API_SEND_URL='http://sms.253.com/msg/send?';

        //查询余额的接口地址
        const API_BALANCE_QUERY_URL='http://sms.253.com/msg/balance?';

        const API_ACCOUNT='*******';//短信账号从 https://zz.253.com/site/login.html 里面获取。

        const API_PASSWORD='*******';//短信密码从 from https://zz.253.com/site/login.html 里面获取。

        /**
         * 发送短信需要的接口参数
         *
         * @param string $mobile                 手机号码
         * @param string $msg                         想要发送的短信内容
         * @param string $needstatus         是否需要状态报告 '1'为需要 '0'位不需要。
         */
        public function sendSMS( $mobile, $msg, $needstatus = 1) {
               
                //发送短信的接口参数
                $postArr = array (
                                          'un' => self::API_ACCOUNT,
                                          'pw' => self::API_PASSWORD,
                                          'msg' => $msg,
                                          'phone' => $mobile,
                                          'rd' => $needstatus
                     );
               
                $result = $this->curlPost( self::API_SEND_URL , $postArr);
                return $result;
        }
       
        /**
         *
         *
         *  查询余额
         */
        public function queryBalance() {
               
                // 查询接口参数
                $postArr = array (
                          'un' => self::API_ACCOUNT,
                          'pw' => self::API_PASSWORD,
                );
                $result = $this->curlPost(self::API_BALANCE_QUERY_URL, $postArr);
                return $result;
        }

        /**
         * 处理接口返回值
         *
         */
        public function execResult($result){
                $result=preg_split("/[,\r\n]/",$result);
                return $result;
        }

        /**
         * @param string $url 
         * @param array $postFields
         * @return mixed
         */
        private function curlPost($url,$postFields){
                $postFields = http_build_query($postFields);
                if(function_exists('curl_init')){

                        $ch = curl_init ();
                        curl_setopt ( $ch, CURLOPT_POST, 1 );
                        curl_setopt ( $ch, CURLOPT_HEADER, 0 );
                        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
                        curl_setopt ( $ch, CURLOPT_URL, $url );
                        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $postFields );
                        $result = curl_exec ( $ch );
                        if(curl_errno($ch))
                        {
                                return 'Curl error: ' . curl_error($ch);
                        }
                        curl_close ( $ch );
                }elseif(function_exists('file_get_contents')){
                       
                        $result=file_get_contents($url.$postFields);

                }
                return $result;
        }
       
        //魔术获取
        public function __get($name){
                return $this->$name;
        }
       
        //魔术设置
        public function __set($name,$value){
                $this->$name=$value;
        }
}
?>

   发表时间:2018-03-09  
代码不多,很实用
0 请登录后投票
   发表时间:2018-04-13   最后修改:2018-04-28
thanks
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics