腾讯短信服务精简版(PHP )

前端之家收集整理的这篇文章主要介绍了腾讯短信服务精简版(PHP )前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

短信视乎已经被慢慢淡出平常的交流工具队列,但始终抹不去它的存在,短信验证码视乎从未被取代,此外在重要的信息通知的地位也是不可取的的。所以了解短信的使用是开发中很有必要的一环。

腾讯云的短信服务提供有100条内免费,所以方便开发测试。

申请短信服务并建立模板

https://console.cloud.tencent.com/sms

查看SDK

https://cloud.tencent.com/document/product/382/13410

提供了多种语言的SDK

PHP短信模板精简

实现短信模板的单次发送

 1 /**
 2 * @param string $nationCode  国家码,如 86 为中国
 3 * @param string $phoneNumber 不带国家码的手机号
 4 * @param int    $templId     模板 id
 5 * @param array  $params      模板参数列表,如模板 {1}...{2}...{3},那么需要带三个参数
 6 * @param string $sign        签名,如果填空串,系统会使用默认签名
 7 * @param string $extend      扩展码,可填空串
 8 * @param string $ext         服务端原样返回的参数,可填空串
 9 * @return string 应答json字符串,详细内容参见腾讯云协议文档
10 */
11 function sendWithParam($nationCode,$phoneNumber,1)">$templId = 0,1)">$params,1)">$sign = "",1)">$extend = "",1)">$ext = ""){
12         
13         $appid = 1400xxx;  //自己的短信appid
14         $appkey = "d80axxxxx"; 自己的短信appkey
15         
16         $random = rand(100000,999999);生成随机
17         $curTime = time();
18         $wholeUrl = "https://yun.tim.qq.com/v5/tlssmssvr/sendsms". "?sdkappid=" . $appid . "&random=" . $random;
19 
20          按照协议组织 post 包体
21         $data = new \stdClass();创建一个没有成员方法属性的空对象
22         $tel = new \stdClass();
23         $tel->nationcode = "".$nationCode24         $tel->mobile = "".$phoneNumber25         $data->tel = $tel26         $data->sig=hash("sha256","appkey=".$appkey."&random=".$random."&time=".$curTime."&mobile=".$phoneNumber); 生成签名
27         $data->tpl_id = $templId28         $data->params = $params29         $data->sign = $sign30         $data->time = $curTime31         $data->extend = $extend32         $data->ext = $ext33 
34         return sendCurlPost($wholeUrl,1)">$data);
35 }
36 37 * 发送请求
38 39 * @param string $url      请求地址
40 * @param array  $dataObj  请求内容
41 * @return string 应答json字符串
42 43 function sendCurlPost($url,1)">$dataObj44         $curl = curl_init();
45         curl_setopt($curl,CURLOPT_URL,1)">$url46         curl_setopt(47         curl_setopt(48         curl_setopt(49         curl_setopt(50         curl_setopt());
51         curl_setopt(52         curl_setopt(53         $ret = curl_exec($curl54         if (false == $ret) {
55              curl_exec Failed
56             $result = "{ \"result\":" . -2 . ",\"errmsg\":\"" . curl_error($curl) . "\"}"57         } else {
58             $rsp = curl_getinfo( CURLINFO_HTTP_CODE);
59             if (200 != $rsp60                 $result = "{ \"result\":" . -1 . ",\"errmsg\":\"". $rsp
61                         . " " . curl_error($curl) ."\"}"62             } 63                 $result = 64             }
65         }
66         curl_close(67 
68         return $result69 }

测试代码

function xx(){
 2 $templId = 286xxx; 自己短信模板id
 3 $phoneNumber1="159xxxxx";接受短信手机号码
try模板占位数据
 6 $params = array("数据1","数据2" 7 $result = sendWithParam("86",1)">$phoneNumber1,1)">$templId,"",""echo $result;输出成功的json结果
 9 } catch(\Exception $e10      echo var_dump($e);输出异常信息
    }
12 }

猜你在找的PHP相关文章