<?php class YmSmsAPI { private $app_id = ''; //appid private $secret_key = ''; //密鑰 private $address = 'http://bjksmtn.b2m.cn'; //接口地址 private $sms_send_url = '/simpleinter/sendSMS'; //發送短信接口 function http_request($url, $data) { print_r($url); print_r(END); print_r($data); print_r(END); $data = http_build_query($data); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, TRUE); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); $output = curl_exec($curl); curl_close($curl); print_r($output); return $output; } function signmd5($app_id,$secret_key,$timestamp){ return md5($app_id.$secret_key.$timestamp); } /** * 發送短信驗證碼 * @param string $app_id 用戶appId * @param string $timestamp 時間格式yyyyMMddHHmmss * @param string $sign 簽名md5(appId+ secretKey + timestamp)32位 * @param string $mobile 手機號 * @param string $content 短信內容 * @param string $timerTime 定時發送時間,若不填即時發送 * @param string $customSmsId 自定義消息id * @param string $extendedCode 擴展碼(最長12位) * @return array */ function sendSMS($mobile,$code) { $app_id = $this->app_id; $secret_key = $this->secret_key; $address = $this->address; $sms_send_url = $this->sms_send_url; $content = "您的短信驗證碼爲".$code.",10分鐘內有效";/* 短信內容請以商務約定的爲準,若是已經在通道端綁定了簽名,則無需在這裏添加簽名 */ $timestamp = date("YmdHis"); $sign = $this->signmd5($app_id,$secret_key,$timestamp); // 若是您的系統環境不是UTF-8,須要轉碼到UTF-8。以下:從gb2312轉到了UTF-8 // $content = mb_convert_encoding( $content,"UTF-8","gb2312"); // 另外,若是包含特殊字符,須要對內容進行urlencode $data = array( "appId" => $app_id, "timestamp" => $timestamp, "sign" => $sign, "mobiles" => $mobile, "content" => $content, "customSmsId" => "", "timerTime" => "", "extendedCode" => "" ); $url = $address.$sms_send_url; $resobj = http_request($url, $data); return $resobj; } /** * 獲取上行接口 */ function getMo() { $app_id = $this->app_id; $secret_key = $this->secret_key; $address = $this->address; $sms_send_url = $this->sms_send_url; $timestamp = date("YmdHis"); $sign = $this->signmd5($app_id,$secret_key,$timestamp); $data = array( "appId" => $app_id, "timestamp" => $timestamp, "sign" => $sign, "number" => "300" ); $url = $address.$sms_send_url; $resobj = http_request($url, $data); return $resobj; } /** * 獲取餘額接口 */ function getBalance() { $app_id = $this->app_id; $secret_key = $this->secret_key; $address = $this->address; $sms_send_url = $this->sms_send_url; $timestamp = date("YmdHis"); $sign = $this->signmd5($app_id,$secret_key,$timestamp); $data = array( "appId" => $app_id, "timestamp" => $timestamp, "sign" => $sign ); $url = $address.$sms_send_url; $resobj = http_request($url,$data); return $resobj; } }