2023年7月31日发(作者:)
⽞武科技短信接⼝封装类
/** * 短信发送类 */
class Sms{
public $config;/** * 发送短信 * @param int $phone ⼿机号码 * @param int $content 正⽂ 带 %s替换 * @param int $code 验证码 * @param int $code_limit 验证码位数 * @return array * * @example * $content='验证码:%s'; * $result=$this->sms->send(,$content,$code); * var_dump($result,$content,$code); */public function send($phone,&$content,&$code,$code_limit=6){//⽣成验证码$code=$this->generateMsgAuthCode($code_limit);
//正⽂$content = sprintf($content, $code);
//默认只有⽞武//return array("result"=>true,"info"=>'');return $this->xuanWuSms($phone,$content);}
/** * ⽞武科技短信接⼝ * @param int $phone ⼿机号码 * @param int $content 正⽂ * @return array */public function xuanWuSms($phone,$content){$msm_url = 'xxxx/cgi-bin/sendsms?';$msm_account = $this->config['xuanwu']['account'];$msm_pwd = $this->config['xuanwu']['pwd'];
$url=$msm_url."username=".$msm_account."&password=";$url.=$msm_pwd."&to=".$phone."&text=".urlencode(iconv('utf-8', 'gb2312', $content))."&subid=&msgtype=1";$send=$this->__httpGet($url);
if ($send===false){$retrun=array("result"=>false,"info"=>"接⼝请求失败!");return $retrun;}
$result=false;$info="";switch ($send){case "0" :$result=true;$info="发送成功!";break;case "-2" :$info="发送参数填定不正确!";break;case "-3" :$info="⽤户载⼊延迟!";break;case "-6" :$info="密码错误!";break;case "-7" :$info="⽤户不存在!";break;case "-11" :$info="发送号码数理⼤于最⼤发送数量";break;case "-12" :$info="余额不⾜";break;case "-99" :$info="内部处理错误";break;default:$result=false;$info="其他错误".(string)$result;break;}return array("result"=>$result,"info"=>$info);}
/** * ⽣成验证码 */public function generateMsgAuthCode($limit) {$rand_array = range(0, 9);shuffle($rand_array); //调⽤现成的数组随机排列函数return implode('', array_slice($rand_array, 0, $limit)); //截取前$limit个}
/** * GET 请求 * @param string $url */private function __httpGet($url) {$oCurl = curl_init();if (stripos($url, "") !== FALSE) {curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);}curl_setopt($oCurl, CURLOPT_URL, $url);curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);$sContent = curl_exec($oCurl);$aStatus = curl_getinfo($oCurl);curl_close($oCurl);if (intval($aStatus["http_code"]) == 200) {return $sContent;} else {return false;}}
}
2023年7月31日发(作者:)
⽞武科技短信接⼝封装类
/** * 短信发送类 */
class Sms{
public $config;/** * 发送短信 * @param int $phone ⼿机号码 * @param int $content 正⽂ 带 %s替换 * @param int $code 验证码 * @param int $code_limit 验证码位数 * @return array * * @example * $content='验证码:%s'; * $result=$this->sms->send(,$content,$code); * var_dump($result,$content,$code); */public function send($phone,&$content,&$code,$code_limit=6){//⽣成验证码$code=$this->generateMsgAuthCode($code_limit);
//正⽂$content = sprintf($content, $code);
//默认只有⽞武//return array("result"=>true,"info"=>'');return $this->xuanWuSms($phone,$content);}
/** * ⽞武科技短信接⼝ * @param int $phone ⼿机号码 * @param int $content 正⽂ * @return array */public function xuanWuSms($phone,$content){$msm_url = 'xxxx/cgi-bin/sendsms?';$msm_account = $this->config['xuanwu']['account'];$msm_pwd = $this->config['xuanwu']['pwd'];
$url=$msm_url."username=".$msm_account."&password=";$url.=$msm_pwd."&to=".$phone."&text=".urlencode(iconv('utf-8', 'gb2312', $content))."&subid=&msgtype=1";$send=$this->__httpGet($url);
if ($send===false){$retrun=array("result"=>false,"info"=>"接⼝请求失败!");return $retrun;}
$result=false;$info="";switch ($send){case "0" :$result=true;$info="发送成功!";break;case "-2" :$info="发送参数填定不正确!";break;case "-3" :$info="⽤户载⼊延迟!";break;case "-6" :$info="密码错误!";break;case "-7" :$info="⽤户不存在!";break;case "-11" :$info="发送号码数理⼤于最⼤发送数量";break;case "-12" :$info="余额不⾜";break;case "-99" :$info="内部处理错误";break;default:$result=false;$info="其他错误".(string)$result;break;}return array("result"=>$result,"info"=>$info);}
/** * ⽣成验证码 */public function generateMsgAuthCode($limit) {$rand_array = range(0, 9);shuffle($rand_array); //调⽤现成的数组随机排列函数return implode('', array_slice($rand_array, 0, $limit)); //截取前$limit个}
/** * GET 请求 * @param string $url */private function __httpGet($url) {$oCurl = curl_init();if (stripos($url, "") !== FALSE) {curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);}curl_setopt($oCurl, CURLOPT_URL, $url);curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1);$sContent = curl_exec($oCurl);$aStatus = curl_getinfo($oCurl);curl_close($oCurl);if (intval($aStatus["http_code"]) == 200) {return $sContent;} else {return false;}}
}
发布评论