• PHP短信驗證碼接口調用demo

    0
    PHP C/C++ Go 接口調用 3855 次瀏覽

     

    基于創藍253云通訊平臺的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;
            }
    }
    ?>
     

    相似問題

    相關經驗

    相關資訊

    相關文檔

  • sesese色