网站建设和推广大概需要多少费用,东道设计作品,印尼网站建设费用,wordpress广告管理器前言介绍
一款大佬分享的简单方便阿里云短信封装代码#xff0c;不用官网复杂的SDK#xff0c;快速上手。
现在我把它适配成pbootcms#xff0c;可以拿来快速制作短信发送功能。
封装代码
?php
/*** author CMS88* 阿里云SMS*/
namespace core\sms;
use core\basi…前言介绍
一款大佬分享的简单方便阿里云短信封装代码不用官网复杂的SDK快速上手。
现在我把它适配成pbootcms可以拿来快速制作短信发送功能。
封装代码
?php
/*** author CMS88* 阿里云SMS*/
namespace core\sms;
use core\basic\Config;
class AliyunSms {// 保存错误信息public $error;// Access Key IDprivate $accessKeyId ;// Access Access Key Secretprivate $accessKeySecret ;// 签名private $signName ;// 模版IDprivate $templateCode ;public function __construct() {// 配置参数$this-accessKeyId Config::get(sms_appid);$this-accessKeySecret Config::get(sms_secret);$this-signName Config::get(sms_signame);$this-templateCode Config::get(sms_checkcodetpl);}private function percentEncode($string) {$string urlencode ( $string );$string preg_replace ( /\/, %20, $string );$string preg_replace ( /\*/, %2A, $string );$string preg_replace ( /%7E/, ~, $string );return $string;}/*** 签名* param unknown $parameters * param unknown $accessKeySecret * return string*/private function computeSignature($parameters, $accessKeySecret) {ksort( $parameters );$canonicalizedQueryString ;foreach ( $parameters as $key $value ) {$canonicalizedQueryString . . $this-percentEncode ( $key ) . . $this-percentEncode ( $value );}$stringToSign GET%2F . $this-percentencode ( substr ( $canonicalizedQueryString, 1 ) );$signature base64_encode ( hash_hmac ( sha1, $stringToSign, $accessKeySecret . , true ) );return $signature;}/*** param unknown $mobile * param unknown $verify_code **/public function send_verify($mobile, $tpljson) {$params array (//此处作了修改SignName $this-signName,Format JSON,Version 2017-05-25,AccessKeyId $this-accessKeyId,SignatureVersion 1.0,SignatureMethod HMAC-SHA1,SignatureNonce uniqid (),Timestamp gmdate ( Y-m-d\TH:i:s\Z ),Action SendSms,TemplateCode $this-templateCode,PhoneNumbers $mobile,//TemplateParam {code: . $verify_code . } TemplateParam $tpljson //更换为自己的实际模版);//var_dump($params);die;// 计算签名并把签名结果加入请求参数$params [Signature] $this-computeSignature( $params, $this-accessKeySecret );// 发送请求此处作了修改//$url https://sms.aliyuncs.com/? . http_build_query ( $params );$url http://dysmsapi.aliyuncs.com/? . http_build_query ( $params );$result json_decode( get_url($url) );if( isset($result-Code) $result-CodeOK ) {return [code1,msg$result-Message];}else{return [code0,msg$result-Message];}}
}