官方demo的一次简单二次开发,增加了post提交发送短信的接口。

将下列代码添加到官方demo目录/demo/simple即可。

代码:

<?php

require __DIR__ . "/../../src/index.php";

use Qcloud\Sms\SmsSingleSender;
use Qcloud\Sms\SmsMultiSender;
use Qcloud\Sms\SmsVoiceVerifyCodeSender;
use Qcloud\Sms\SmsVoicePromptSender;
use Qcloud\Sms\SmsStatusPuller;
use Qcloud\Sms\SmsMobileStatusPuller;

use Qcloud\Sms\VoiceFileUploader;
use Qcloud\Sms\FileVoiceSender;
use Qcloud\Sms\TtsVoiceSender;


// 短信应用SDK AppID
$appid = $_POST['appid'];; // 1400开头

// 短信应用SDK AppKey
$appkey = $_POST['appkey'];

// 需要发送短信的手机号码
$phoneNumbers = $_POST['sjh'];
$phoneNumbers = ["$phoneNumbers"];//转换
// 短信模板ID,需要在短信应用中申请
$templateId = $_POST['templateId'];  // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请

// 签名
$smsSign = $_POST['smsSign']; // NOTE: 这里的签名只是示例,请使用真实的已申请的签名,签名参数使用的是`签名内容`,而不是`签名ID`

// 指定模板ID单发短信
try {
    $ssender = new SmsSingleSender($appid, $appkey);
    $params = $_POST['yzm'];//$params = ["1234"];
    $params = ["$params"];//转换
    $result = $ssender->sendWithParam("86", $phoneNumbers[0], $templateId,
        $params, $smsSign, "", "");  // 签名参数未提供或者为空时,会使用默认签名发送短信
    $rsp = json_decode($result);
    //echo $result;输出状态数组
    
    $arr = json_decode($result, true);    // 将获取到的 JSON 数据解析成数组
    //echo $arr['result'];//输出状态码
    

        if($arr['result'] == 0)
        {
            echo '1';
        }
        else
        {
            echo '短信发送失败';
        }



} catch(\Exception $e) {
    echo var_dump($e);
}
echo "\n";


附带一下post发送数据的PHP程序:

<?

/**
 * 发送post请求
 * @param string $url 请求地址
 * @param array $post_data post键值对数据
 * @return string
 */
 
 
 function make_password( $length = 5 )
{
    // 密码字符集,可任意添加你需要的字符
    $chars = array('0', '1', '2', '3' ,'4' ,'5' ,'6' ,'7' ,'8' ,'9' );
    // 在 $chars 中随机取 $length 个数组元素键名
    $keys = array_rand($chars, $length); 
    $password = '';
    for($i = 0; $i < $length; $i++)
    {
        // 将 $length 个数组元素连接成字符串
        $password .= $chars[$keys[$i]];
    }
    return $password;
}

///////////////////////////腾讯云短信信息填写到这里////////////////////////////////
//验证码,上方make_password函数生成的
 $code = make_password();//可以根据具体要求来写,不需要可以直接删除
 $yzm=$code;
//发送短信的目标手机号
 $shoujihaoma="";
//腾讯云短信的appid
 $appid="";
//腾讯云短信的appkey
 $appkey="";
//腾讯云短信的模板ID
 $templateID="";
//签名
 $smsSign="";
///////////////////////////腾讯云短信信息填写到这里////////////////////////////////


//////////////post的数据信息//////////////////////////
$post_data = array(
    'sjh' => $shoujihaoma
    'yzm' => $yzm
    'appid'=> $appid
    'appkey' => $appkey
    'templateId' => $templateId
    'smsSign' => $smsSign
);
//////////////post的数据信息//////////////////////////
?>

<?php
function update(){
echo send_post('/demo/simple/duanxinpostapi.php', $post_data);//上方api代码位置
}
?>

<?php
function send_post($url, $post_data) {
    $postdata = http_build_query($post_data);
    $options = array(
        'http' => array(
            'method' => 'POST',
            'header' => 'Content-type:application/x-www-form-urlencoded',
            'content' => $postdata,
            'timeout' => 60 // 超时时间(单位:s)
        )
    );
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}

?>


最后于 2月前 被2551654928编辑 ,原因:

上一篇:搭建网站的准备工作
下一篇:Fas流控短信验证码接口更换腾讯云短信
这家伙太懒了,什么也没留下。
最新回复 (2)
返回